Hive环境配置——基于CentOS9Stream系统

        之前一直用的CentOS7,但是因为CentOS7停止维护了,老师上课时要求使用CentOS9Stream。我在配置环境时发现了一些环境配置的差异,CentOS9Stream上并不能按照完全相同的步骤来完成本地部署,也就是基于本地Mysql数据库的Hive部署方式。于是我花了点时间重新配通了Hive本地部署,写下这篇文章记录。
    首先解压压缩包。解压完后第一步仍然是消除hadoop与hive的guava.jar版本差异,将版本较高的替换掉版本低的,使hive与hadoop的jar包版本相同即可,路径分别如下:

hive/lib/guava-?.jar 
hadoop/share/hadoop/common/lib/guava-?.jar

        第二步可以先配置环境变量:

#HIVE_HOME

export HIVE_HOME=/export/server/hive   //修改对应路径
export PATH=$PATH:$HIVE_HOME/bin

        然后初始化元数据库:

bin/schematool -dbType derby -initSchema  //执行hivebin文件夹下的程序,如果上一步添加了环境变量就可以不用指定文件路径,直接使用schematool即可

        安装Mysql数据库,直接使用yum命令下载安装即可,好像是只能使用Mysql8.0,我安装Mysql5.7报了libexec.so6啥的错,网上搜了一些办法最终也没解决,所以最好直接用8.0吧。这一步注意如果系统里已经有5.7版本的Mysql了需要删掉:

不确定的话可以通过yum命令查看:yum list installed | grep mysql

使用yum命令删除对应服务,例如:yum remove mysql-server

安装命令如下,版本默认是8.0:yum -y install mysql-server

        安装完成后,Mysql是没有设置密码的,需要修改密码,修改前需要先下载validate插件:

检查Mysql服务是否启动:systemctl status mysqld  //若没启动,将status换为start启动即可,最好再换为enable设置自启

进入Mysql:mysql -uroot -p

下载插件:INSTALL PLUGIN validate_password SONAME 'validate_password.so';

修改密码:SET GLOBAL validate_password_length=4;  //设置密码长度

SET GLOBAL validate_password_policy=low;  //设置密码安全等级

SET password=password('8888');  //设置密码

        设置完成后,退出Mysql重新使用新密码进入,配置hive元数据存储到Mysql:

设置Mysql远程访问:

use mysql;

update user set host='%' where user='root';

新建hive_db数据库作为Hive的元数据存储地址:create database hive_db;

创建Hive访问用户:create user hive(用户名) identified by '8888'(密码);

赋予Hive用户对所有数据库所有表的所有权限且任何地址都能建立连接“%”,并具有授予权:grant all privileges on *.* to hive@'%'  with grant option;

        将Mysql的jdbc驱动拷贝到hive的lib目录下,因为我们下载的是Mysql8.0,所以驱动也要是8.0版本,不用具体到小版本。

        接下来在hive的conf文件夹下创建hive-site.xml文件,因为Mysql版本不一样,里面的内容也和5.7写法略微不同,下面的配置文件仅供参考,根据需求补充必要的配置项即可:

<configuration>
<property> 
<name>javax.jdo.option.ConnectionURL</name> 
<value>jdbc:mysql://hadoop1:3306/hive_db?allowPublicKeyRetrieval=true&amp;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>hive</value>
</property>
<!-- jdbc连接的password -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>8888</value>
</property>
<!--元数据服务端口配置-->
<property>
<name>hive.metastore.uris</name>
<value>thrift://hadoop1:9083</value>
</property>
</configuration>

        最后初始化数据库即可:

bin/schematool -dbType mysql -initSchema -verbose

        启动命令如下:

hive --metastore service  //该命令执行后需要持续运行,因此没有结果是正常的,不是卡了,开新选项卡继续操作就行。

hive

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值