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,输入以下内容:
export HIVE_HOME=/application/soft/hive-3.1.3 export HIVE_CONF_DIR=/application/soft/hive-3.1.3/conf export PATH=$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连接信息根据自身环境不同,可自行调整
javax.jdo.option.ConnectionURL
jdbc:mysql://cdp1:3306/metastore?useSSL=false
javax.jdo.option.ConnectionDriverName
com.mysql.cj.jdbc.Driver
javax.jdo.option.ConnectionUserName
root
javax.jdo.option.ConnectionPassword
******
hive.metastore.schema.verification
false
hive.metastore.event.db.notification.api.auth
false
hive.metastore.warehouse.dir
/user/hive/warehouse
hive.metastore.uris
thrift://cdp1:9083
hive.server2.thrift.bind.host
cdp1
hive.server2.thrift.port
10000
hive.cli.print.header
true
hive.cli.print.current.db
true
datanucleus.schema.autoCreateAll
true
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来加速任务的执行速度,由于篇幅有限,这里就不继续讨论了,后续再接着讨论其他组件的功能。
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/c15721dd97.html
