把hive的压缩包上传到虚拟机的目录
我这里是 /opt/install_packages
解压文件到 /opt/softs
tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt//softs/
修改文件名
mv apache-hive-3.1.2-bin/ hive3.1.2
到/etc/profile中配置环境变量
添加
#HIVE_HOME
export HIVE_HOME=/opt/softs/hive3.1.2
export PATH=$PATH:$HIVE_HOME/bin
export PATH=$PATH:$HIVE_HOME/sbin
退出后 source 一下
把mysqljar包丢进来
/opt/softs/hive3.1.2/lib/
处理日志jar包冲突
hive3.1.2/lib目录中有log4j-slf4j-impl-2.10.0.jar 文件导致日志jar包冲突
在文件名后添加.bak使其失效
mv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.jar.bak
修改后是白色
处理hive和hadoop的guava包版本不一的问题
这是hive中的guava包版本 在hive3.1.2/lib目录下
这是hadoop的guava包版本 在 /opt/softs/hadoop3.1.3/share/hadoop/common/lib/ 目录中
两个版本分别为
hive: guava-19.0.jar
hadoop:guava-27.0-jre.jar
先将hive的guava 添加 .bak 使其失效
把hive的jar包换成hadoop的jar包
hive的guava包后面加bak改下名字
把hadoop的复制过去
/opt/softs/hadoop3.1.3/share/hadoop/common/lib
cp guava-27.0-jre.jar /opt/softs/hive3.1.2/lib/
检查一下hive的lib目录
已经替换完成
修改配置文件
添加hive-site.xml 到 /opt/softs/hive3.1.2/conf/ 下
记得修改下主机名 我这里是bigdata004
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<!-- jdbc 连接的 URL hostname根据实际进行修改 -->
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://bigdata004:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8</value>
</property>
<!-- jdbc 连接的 Driver-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- jdbc 连接的 username-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!-- jdbc 连接的 password root密码根据实际修改-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root123</value>
</property>
<!-- Hive 默认在 HDFS 的工作目录 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<!-- 指定 hiveserver2 连接的 host hive的安装host根据实际进行修改 -->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>bigdata004</value>
</property>
<!-- 指定 hiveserver2 连接的端口号 -->
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<!-- yarn作业获取到的hiveserver2用户都为hive用户 -->
<property>
<name>hive.server2.enable.doAs</name>
<value>false</value>
</property>
<!-- hiveserver2的高可用参数,开启此参数可以提高hiveserver2的启动速度 -->
<property>
<name>hive.server2.active.passive.ha.enable</name>
<value>true</value>
</property>
</configuration>
添加
<!-- 安装hive时 在hadoop中core-site.xml中添加如下配置 -->
<!-- 从任何主机登录的root用户可以伪装成一个属于任何group的用户 -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
到
/opt/softs/hadoop3.1.3/etc/hadoop 的 core-site.xml
修改要传给其他节点
scp core-site.xml root@bigdata005:/opt/softs/hadoop3.1.3/etc/hadoop/
scp core-site.xml root@bigdata006:/opt/softs/hadoop3.1.3/etc/hadoop/
启动集群和mysql
检查节点是否都启动,检查源数据库 mysql的状态
systemctl status mysqld
hive初始化元数据库的操作
之后就可以启动hive了
命令是hive
启动后navicat页面会出现
hive日志的位置
/temp/root