基于hadoop2.6.0的hive-1.2.1安装

1.安装环境:有一个完全分布式的Hadoop-2.6.0。

2.安装准备:需要在网上下一个Hive的压缩包,我这儿用的是apache-hive-1.2.1-bin.tar.gz。下载地址here

3.将下载下来的hive压缩包解压,并更改用户权限。我的解压在/usr/local

sudo tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /usr/local
sudo chown -R persistence:persistence /usr/local/apache-hive-1.2.1-bin

4.设置环境变量

sudo vim /etc/profile
在最后加上
export HIVE_HOME=/usr/local/apache-hive-1.2.1-bin(这儿是你的hive的解压路径)
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile  ->使配置文件生效

5.metastore->MYSQL的安装(我这是ubuntu系统)

sudo apt-get install mariadb-server mariadb-client
sudo service mysql start
sudo service mysql enable
安装好后去网上下载一个链接MYSQL的JDBC驱动,我用的是mysql-connector-java-5.1.32-bin.jar,并方人员hive的解压文件的lib目录下。

设置mysql数据库,使其能远程连接

sudo vim /etc/mysql/my.cnf
将bind-address            = 127.0.0.1这行改为 bind-address            = 0.0.0.0

用root登录mariadb,创建存储需要用的数据库以及相应用户

mysql -u root -p         ->输入之后会提示你输入之前你设置的root密码
create database hiveDB; -> 建立数据库
alter database hiveDB character set latin1;->将编码改为Latin1,你可以设置其他编码
create user 'bee' identified by '123456'; ->创建用户
grant all privileges on hiveDB.* to 'bee'@'%' identified by '123456'; ->将允许从任意地点登陆的bee用户对hiveDB数据库的所有表执行增删查改四种操作
flush privileges; -> 刷新系统权限表

6.配置HIVE,配置文件目录在hive目录下的conf目录下

① 配置hive-site.xml,conf目录下应该没有这个文件,需要将hive-default.xml.template中的配置文件中内容复制到hive-site.xml 文件中,但是现在我们只需要用一些配置信息,所以可以在conf目录下直接新建hive-site.xml,然后在文件中写入一下内容即可。

sudo vim hive-site.xml


<configuration>
<property>
        <name>hive.exec.scratchdirname>
        <value>hdfs://HadoopMaster:9000/tmp/hivevalue>
property>
<property>
        <name>javax.jdo.option.ConnectionURLname>
        <value>jdbc:mysql://HadoopMaster:3306/hiveDB?createDatabaseIfNotExist=true&characterEncoding=UTF-8value>
property>
<property>
        <name>javax.jdo.option.ConnectionDriverNamename>
        <value>com.mysql.jdbc.Drivervalue>
property>
<property>
        <name>javax.jdo.option.ConnectionUserNamename>
        <value>beevalue>
property>
<property>
        <name>javax.jdo.option.ConnectionPasswordname>
        <value>123456value>
property>
<property>
        <name>hive.metastore.warehouse.dirname>
      <value>hdfs://HadoopMaster:9000/hive/warehousevalue>
        <description>location of default database for the warehousedescription>
property>
<property>
        <name>javax.jdo.option.Multithreadedname>
        <value>truevalue>
property>
configuration>

PS:hive.exec.scratchdir->执行HIVE操作访问HDFS用于临时存储数据的目录。目录权限设置为733。我这儿用的是/tmp/hive目录。
javax.jdo.option.ConnectionURL -> 设置hive通过JDBC链接MYSQL数据库存储metastore存放的数据库地址
javax.jdo.option.ConnectionDriverName ->设置链接mysql的驱动名称。
javax.jdo.option.ConnectionUserName -> 设置存储metastore内容的数据库用户名
javax.jdo.option.ConnectionPassword -> 设置存储metastore内容的数据库用户名密码
hive.metastore.warehouse.dir -> 设置用于存放hive元数据的目录位置,改配置有三种模式,内嵌模式,本地元数据,远程元数据。具体解析见hive配置指北

②配置hive-env.sh,这个文件也是没有的,是hive-env.sh.template复制过来的

sudo cp hive-env.sh.template hive-env.sh
sudo vim hive-env.sh
将jdk的路径和hadoop的家目录导入到这个文件中:
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
export HADOOP_HOME=/usr/local/hadoop

注意:这时也不能启动hive服务,因为hadoop的版本是2.6.0,hive的版本是1.2.1,HIVE_HOME/lib目录下的jline-2.12.jar比HADOOP_HOME/share/hadoop/yarn/lib下的jline-0.9.94.jar版本高,版本不一致导致。所以将HIVE_HOME/lib目录下的jline-2.12.jar复制到HADOOP_HOME/share/hadoop/yarn/lib下,并将jline-0.9.94.jar删除,然后重启hadoop。

sudo cp /usr/local/apache-hive-1.2.1-bin/lib/jline-2.12.jar /usr/local/hadoop/share/hadoop/yarn/lib/

sudo rm jline-0.9.94.jar

6.安装完成验证

输入hive,进入命令行,能正常进入没有抛异常,则证明安装基本完成,以下是验证截图
基于hadoop2.6.0的hive-1.2.1安装_第1张图片
基于hadoop2.6.0的hive-1.2.1安装_第2张图片

你可能感兴趣的:(hadoop,大数据)