Hive组件搭建

0.准备工作

  • Centos7
  • Hadoop完全分布式
  • 三个环境
    • master
    • slave1
    • slave2
  • Hive组件

1.安装组件

scp apache-hive-1.1.0-bin.tar.gz root@master:~/

将传入的hive组件解压缩

tar -zxvf apache-hive-1.1.0-bin.tar.gz

更改文件名为hive

mv apache-hive-1.1.0 h

2.修改hive配置文件

修改hive-env.sh

进入hive配置文件目录conf/

cd hive/conf

hive-env.sh.template 更名为 hive-env.sh

mv hive-env.sh.template hive-env.sh

修改 hive-env.sh 的内容

vi hive-env.sh
  • 配置 HADOOP_HOME 路径

    • export HADOOP_HOME=/root/hadoop-2.6.0
      
  • 配置 HIVE_CONF_DIR 路径

    • export HIVE_CONF_DIR=/root/hive/conf
      

修改hive-site.sh

配置将Mysql作为hive的数据源,然后进行初始化

在conf文件夹下创建 hive-site.xml 文件

  • <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
        <!--配置mysql数据库的连接地址-->
    <property>
            <name>javax.jdo.option.ConnectionURL</name>
            <value>jdbc:mysql://master:3306/hive</value>
    </property>
        <!--配置mysql数据库的连接驱动-->
    <property>
            <name>javax.jdo.option.ConnectionDriverName</name>
            <value>com.mysql.jdbc.Driver</value>
    </property>
        <!--配置mysql数据库的用户名-->
    <property>
            <name>javax.jdo.option.ConnectionUserName</name>
            <value>root</value>
    </property>
        <!--配置mysql数据库的密码-->
    <property>
            <name>javax.jdo.option.ConnectionPassword</name>
            <value>123456</value>
    </property>
    </configuration>
    

3.将hadoop的依赖包替换为hive版本

因为Hadoop中的 jline 包版本过低,不兼容hive组件,所以需要从hive中拷贝一份替换过去

[root@master lib]# cp jline-2.12.jar ~/hadoop-2.6.0/share/hadoop/yarn/lib/jline-0.9.94.jar

hive不需要分发到slave节点上!

4.初始化hive组件

先将mysql的连接jar包复制到hive的lib目录

[root@master chinaskills]# cp /chinaskills/mysql-connector-java-5.1.38.jar /usr/local/src/Hive/lib/.

注意:我们配置的数据库默认是没有的,如果没有这个数据库则去mysql创建一个

创建数据库:

mysql -uroot -p123456

出现mysql>则输入

create database hive;

然后exit退出就可以进行初始化了

然后去到hive的bin目录下进行初始化hive数据库 :

cd /usr/local/src/Hive/bin
./schematool --dbType mysql --initSchema

如果没出现报错说明成功了,如果出现了报错看看是不是以下问题:

  • 没有复制mysql的连接工具jar包到 hive的lib
  • 数据库中不存在 hive 这个数据库

5.启动hive组件

master节点下启动hive

[root@master hive]# bin/hive

出现 hive > 即是成功

上一篇 下一篇