0


Hive3.1.3版本安装部署

前言

Hive作为大数据生态中的一员,曾经也是一个热门的组件,特别是在数据仓库类的项目中,扮演着一个重要的角色,比如版本管理、历史数据追溯等,今年来随着实时要求的增多,该组件的热度也随之降低,但它作为一种离线数据分析的工具,还是比较成熟稳定的。


提示:下面案例仅供参考

一、安装准备

1.下载安装介质

登录hive官网地址https://hive.apache.org/general/downloads/,选择版本下载安装包,推荐下载3.x版本,虽然目前最新的版本是4.0,但该版本处于beta状态,对于一些历史项目或多或少会有一些兼容性的问题,本篇以hive3.1.3版本为例.

2.上传服务器并解压

使用ftp工具(xshell、putty、termius等等)上传安装包至服务器,并执行tar -zxvf apache-hive-3.1.3-bin.tar.gz命令解压安装包,由于名称过长,我这边将名称改成hive-3.1.3(执行mv apache-hive-3.1.3-bin hive-3.1.3命令)

二、安装配置

1.配置环境变量

上篇安装hadoop的文章中提到了具体的环境变量配置细节,这里就不再重复赘述,执行 vim(或者vi ) /etc/profile.d/my_env.sh,输入以下内容:

exportHIVE_HOME=/application/soft/hive-3.1.3
exportHIVE_CONF_DIR=/application/soft/hive-3.1.3/conf
exportPATH=$PATH:$HIVE_HOME/bin

保存后,执行source /etc/profile使环境变量生效。

2.解决日志jar包冲突

执行以下命令,避免输出日志时报冲突错误

mv$HIVE_HOME/lib/log4j-slf4j-impl-2.17.1.jar $HIVE_HOME/lib/log4j-slf4j-impl-2.17.1.bak

3.初始元数据

1、hive本身自带的元数据存储时derby数据库,进入hive安装目录,执行bin/schematool -dbType -initSchema命令,在结尾输出"initialization script completed"字样,则表示初始化成功,输入hive命令,即可进入hive中使用。由于derby是一个轻量级的数据库,项目中一般会将derby数据库替换成mysql来存储hive元数据。
2、执行cp mysql-connector-java-8.0.17.jar $HIVE_HOME/lib命令,将mysql复制到hive安装路径下的lib目录
3、执行vim $HIVE_HOME/conf/hive-site.xml命令,在hive安装路径conf目录下创建hive-site.xml,然后复制以下内容到文件中

提示:jdbc连接信息根据自身环境不同,可自行调整
<?xml version="1.0"encoding="UTF-8"standalone="no"?><?xml-stylesheet type="text/xsl"href="configuration.xsl"?><configuration><!-- jdbc连接的url--><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://cdp1:3306/metastore?useSSL=false</value></property><!-- jdbc连接的Driver--><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.cj.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>******</value></property><!-- Hive元数据存储版本的验证 --><property><name>hive.metastore.schema.verification</name><value>false</value></property><!-- 元数据存储授权--><property><name>hive.metastore.event.db.notification.api.auth</name><value>false</value></property><!-- Hive默认在HDFS的工作目录--><property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value></property><!-- 指定存储元数据要连接的地址 --><property><name>hive.metastore.uris</name><value>thrift://cdp1:9083</value></property><!-- 指定hiveserver2连接的host--><property><name>hive.server2.thrift.bind.host</name><value>cdp1</value></property><!-- 指定hiveserver2连接的端口号--><property><name>hive.server2.thrift.port</name><value>10000</value></property><!-- 打印表头信息--><property><name>hive.cli.print.header</name><value>true</value></property><!-- 打印当前数据库信息--><property><name>hive.cli.print.current.db</name><value>true</value></property><property><name>datanucleus.schema.autoCreateAll</name><value>true</value></property></configuration>

4、进入hive安装目录,执行bin/schematool -dbType mysql -initSchema --verbose命令,在结尾输出"initialization script completed"字样,则表示初始化成功
在这里插入图片描述

4.启动并进入hive

执行hive命令,进入hive客户端,可以执行一些基本命令:show databases;show tables查看是否正常。
在这里插入图片描述

6.开启metastore服务

metastore服务是hive的元数据功能,里面记录了hdfs存储路径,已经创建的hive表名等,可以连接到上述配置文件中的mysql地址,查看具体的存储信息,常用的表名有:DBS、TBLS等。先创建一个日志存放的目录,比如$HIVE_HOME/logs,然后执行以下命令开启metastore服务。

nohup hive --service metastore >$HIVE_LOG_DIR/metastore.log

7.开启hiveserver2服务

hiveserver2功能开启后,可以通过jdbc远程连接的方式访问hive中的数据,例如在编写spark程序时,经常会遇到访问hive的场景,执行以下命令开启hiveserver2服务

nohup hiveserver2 >$HIVE_LOG_DIR/hiveServer2.log

metastore服务在hiveserver2前面启动,两者开启后,可通过客户端工具(dbeaver、datagrip等)访问连接,连接地址是jdbc:hive2://cdp1:10000
也可以先在服务器上测试是否能够连接,执行beeline -u jdbc:hive2://cdp1:1000以连接到hiveserver2服务。
在这里插入图片描述

总结

至此hive组件就已经安装完成了,相对于hadoop集群部署来说还是比较简单的,需要配置的地方也没那么多,但目前hive底层运行的执行引擎还是mapreduce,如果想要hive运行的更加高效,可以开启多个hiveserver2或者切换到hive on spark来加速任务的执行速度,由于篇幅有限,这里就不继续讨论了,后续再接着讨论其他组件的功能。

标签: 大数据 hive

本文转载自: https://blog.csdn.net/weixin_43153588/article/details/134986163
版权归原作者 以茉萱 所有, 如有侵权,请联系我们删除。

“Hive3.1.3版本安装部署”的评论:

还没有评论