环境要求:
三台centos7主机:
master 192.168.200.128(hive客户端)
slave1 192.168.200.129 (hive服务端)
slave2 192.168.200.130 (MySQL数据库存储metastore元数据)
都要求已经安装 jdk,hadoop参考连接
部署mysql服务(slave2)
部署hive服务端(slave1)
-
解压hive文件
# tar -zxvf apache-hive-2.3.7-bin
-
配置 hive-site.xml 文件(在hive的安装目录的conf目录下)
如果没有请新建文件,并添加内容:
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.200.130:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
</configuration>
- 配置 hive-env.sh 文件(在hive的安装目录的conf目录下)
cp hive-env.sh.template hive-env.sh
vi hive-env.sh
- 将mysql-connector-java-5.1.31-bin.jar上传到$HIVE_HOME/lib目录下
驱动包下载地址 - 替换 jline.jar 包
cp /home/hive-1.2.1/lib/jline-2.12.jar /home/hadoop-2.5.2/share/hadoop/yarn/lib/(参考路径) - 初始化元数据库
# schematool -dbType mysql -initSchema
- 配置环境变量
# vi /etc/profile
source /etc/profile #使环境变量生效
部署hive客户端(master)
- 解压hive文件(参考上文)
- 配置 hive-site.xml 文件(在hive的安装目录的conf目录下)
如果没有请新建文件,并添加内容:
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://slave1:9083</value>
</property>
</configuration>
- 配置 hive-env.sh 文件(参考上文)
- 替换 jline.jar 包(参考上文)
- 配置环境变量(参考上文)
测试
- 启动hadoop集群
# start-all.sh
- 启动slave2的mysql服务
# systemctl start mysqld
- 启动slave1的hive服务
# hive --service metastore &
- 启动master客户端hive
# hive