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