主要使用远程模式部署hive的metastore服务 。在node1机器上安装。
注意:以下两件事在启动hive之前必须确保正常完成。
1、提前安装mysql,确保具有远程访问的权限
2、启动hadoop集群,确保集群正常能够访问
1.上传软件
使用CRT等客户端远程上传 apache-hive-3.1.2-bin.tar.gz 文件到/export/software目录下
2.解压软件
shell
[root@node1 software]# cd /export/software/
[root@node1 software]# tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /export/server/
3.解决Hive与Hadoop之间guava版本差异
shell
[root@node1 software]# rm -rf /export/server/apache-hive-3.1.2-bin/lib/guava-19.0.jar
[root@node1 software]# cp /export/server/hadoop-3.3.0/share/hadoop/common/lib/guava-27.0-jre.jar /export/server/apache-hive-3.1.2-bin/lib/
4.添加环境变量
shell
[root@node1 software]# vim /etc/profile
text# 把如下内容复制到profile文件的最后,注意:记得保存并退出wq # 小技巧 : 按G + o快速到文件末尾 export HIVE_HOME=/export/server/apache-hive-3.1.2-bin export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/sbin
- 修改完后重启生效
shell
[root@node1 server]# source /etc/profile
5.修改配置文件
①hive-env.sh
-
修改文件名称
shell[root@node1 software]# cd /export/server/apache-hive-3.1.2-bin/conf [root@node1 conf]# mv hive-env.sh.template hive-env.sh
-
打开文件写入数据
shell[root@node1 conf]# vim hive-env.sh
text# 把如下内容复制到profile文件的最后,注意:记得保存并退出wq # 小技巧 : 按G + o快速到文件末尾 export HADOOP_HOME=/export/server/hadoop-3.3.0 export HIVE_CONF_DIR=/export/server/apache-hive-3.1.2-bin/conf export HIVE_AUX_JARS_PATH=/export/server/apache-hive-3.1.2-bin/lib
②hive-site.xml
该文件默认是没有的,需要我们自己创建
-
打开文件写入数据
shell[root@node1 conf]# vim hive-site.xml
xml<configuration> <!-- 存储元数据mysql相关配置 --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://node1:3306/hive3?createDatabaseIfNotExist=true&useSSL=false</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> <!-- H2S运行绑定host --> <property> <name>hive.server2.thrift.bind.host</name> <value>node1</value> </property> <!-- 远程模式部署metastore metastore地址 --> <property> <name>hive.metastore.uris</name> <value>thrift://node1:9083</value> </property> <!-- 关闭元数据存储授权 --> <property> <name>hive.metastore.event.db.notification.api.auth</name> <value>false</value> </property> </configuration>