前期准备
安装包下载:链接:https://pan.baidu.com/s/1fKHwHvkkuiJLmW3-yg3sFA?pwd=6666
通过XFTP将安装包上传到hadoop102的/opt/software目录下
安装部署
1、解压hive-3.1.3.tar.gz到/opt/module/目录下面
进入安装包所在目录
cd /opt/software/
解压到moudle目录下
tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /opt/moudle/
2、修改hive-3.1.3-bin.tar.gz的名称为hive
进入解压后的moudle目录
cd ../moudle/
修改名字
mv apache-hive-3.1.3-bin/ hive
3、修改/etc/profile.d/my_env.sh,添加环境变量
打开配置文件
vim /etc/profile.d/my_env.sh
添加如下内容:然后esc键然后 :wq 保存退出
#HIVE_HOME
export HIVE_HOME=/opt/moudle/hive
export PATH=$PATH:$HIVE_HOME/bin
刷新环境变量使之生效
source /etc/profile.d/my_env.sh
分发一下环境变量(可做可不做,做一下还是好,万一用到了)
xsync /etc/profile.d/my_env.sh
4、解决日志Jar包(改成备用)冲突,进入/opt/moudle/hive/lib目录
cd /opt/moudle/hive/lib/
mv log4j-slf4j-impl-2.17.1.jar log4j-slf4j-impl-2.17.1.jar.bak
Hive元数据配置到MySQL
1、登陆MySQL
将MySQL的JDBC驱动拷贝到Hive的lib目录下
cp /opt/software/mysql/mysql-connector-j-8.0.31.jar /opt/moudle/hive/lib/
2、配置Metastore到MySQL
在$HIVE_HOME/conf目录下新建hive-site.xml
cd $HIVE_HOME/conf
vim hive-site.xml
添加如下内容:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--配置Hive保存元数据信息所需的 MySQL URL地址-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true</value>
</property>
<!--配置Hive连接MySQL的驱动全类名-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
</property>
<!--配置Hive连接MySQL的用户名 -->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!--配置Hive连接MySQL的密码 -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<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>
</configuration>
启动Hive
1、初始化元数据库
登陆MySQL
mysql -uroot -p123456
新建Hive元数据库
create database metastore;
初始化Hive元数据库(进入/hive/conf)
schematool -initSchema -dbType mysql -verbose
修改元数据库字符集
Hive元数据库的字符集默认为Latin1,由于其不支持中文字符,所以建表语句中如果包含中文注释,会出现乱码现象。如需解决乱码问题,须做以下修改。
修改Hive元数据库中存储注释的字段的字符集为utf-8。
字段注释
alter table metastore.COLUMNS_V2 modify column COMMENT varchar(256) character set utf8mb4;
表注释
alter table metastore.TABLE_PARAMS modify column PARAM_VALUE mediumtext character set utf8mb4;
退出mysql
quit;
2、启动Hive客户端
第一次进入需要等一会(要启动好Hadoop集群)并且Hadoop处于活跃状态
这样是睡眠状态
报这种错
输入以下指令激活:
/opt//moudle/hadoop/bin//hdfs haadmin -transitionToActive --forcemanual nn1
然后输入hive
然后再输入以下指令
show databases;
出现如下说明配置成功!