Hive安装
1.把apache-hive-3.1.3-bin.tar.gz上传到Linux的/opt/software目录下
2.解压apache-hive-3.1.3-bin.tar.gz到/opt/module/目录下面
[hcq@hadoop102 software]$ tar -zxvf /opt/software/apache-hive-3.1.3-bin.tar.gz -C /opt/module/
3.修改apache-hive-3.1.3-bin.tar.gz的名称为hive
[hcq@hadoop102 software]$ mv /opt/module/apache-hive-3.1.3-bin/ /opt/module/hive
4.修改/etc/profile.d/my_env.sh,添加环境变量
[hcq@hadoop102 software]$ sudo vim /etc/profile.d/my_env.sh
往文件中写入
#HIVE_HOME export HIVE_HOME=/opt/module/hive export PATH=$PATH:$HIVE_HOME/bin
source使配置信息生效
[hcq@hadoop102 hive]$ source /etc/profile.d/my_env.sh
5.初始化元数据库(默认是derby数据库)
[hcq@hadoop102 hive]$ bin/schematool -dbType derby -initSchema
配置元数据到MySQL
1.新建Hive 元数据库
[hcq@hadoop102 software]$ mysql -uroot -p123456 #创建Hive元数据库 mysql> create database metastore;
2.在$HIVE_HOME/conf目录下新建hive-site.xml文件
[hcq@hadoop102 software]$ vim $HIVE_HOME/conf/hive-site.xml
在后面再加上
3.初始化 Hive 元数据库(修改为采用MySQL存储元数据)
[hcq@hadoop102 hive]$ bin/schematool -dbType mysql -initSchema -verbose
Hiveserver2部署
[hcq@hadoop102 ~]$ cd $HADOOP_HOME/etc/hadoop [hcq@hadoop102 hadoop]$ vim core-site.xml
添加如下的配置:
<!--配置所有节点的hcq用户都可作为代理用户--> <property> <name>hadoop.proxyuser.hcq.hosts</name> <value>*</value> </property> <!--配置hcq用户能够代理的用户组为任意组--> <property> <name>hadoop.proxyuser.hcq.groups</name> <value>*</value> </property> <!--配置hcq用户能够代理的用户为任意用户--> <property> <name>hadoop.proxyuser.hcq.users</name> <value>*</value> </property>
Hive端配置
[hcq@hadoop102 conf]$ vim hive-site.xml
在hive-site.xml文件中添加如下配置信息
<!-- 指定hiveserver2连接的host --> <property> <name>hive.server2.thrift.bind.host</name> <value>hadoop102</value> </property> <!-- 指定hiveserver2连接的端口号 --> <property> <name>hive.server2.thrift.port</name> <value>10000</value> </property>
在后台启动hiveserver2
[hcq@hadoop102 hive]$ nohup bin/hiveserver2 >/dev/null 2>&1 &
metastore部署
独立服务模式
metastore服务的配置文件hive-site.xml中包含连接元数据库所需的以下参数:
<!-- jdbc连接的URL --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</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 --> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> </property>
其次,保证Hiveserver2和每个Hive CLI的配置文件hive-site.xml中包含访问metastore服务所需的以下参数:
<!-- 指定metastore服务的地址 --> <property> <name>hive.metastore.uris</name> <value>thrift://hadoop102:9083</value> </property>
遇到的问题
Missing Hive Execution Jar: /opt/module/hive/lib/hive-exec-*.jar
Hive启动时报错Missing Hive Execution Jar: /opt/module/hive/lib/hive-exec-*.jar_柳小葱的博客-优快云博客
可能是因为/etc/profile.d/my.env.sh文件写错了,然后修改后就可以了,就没有报这个错误,就出现了下面这个错误.