大数据全系列 教程
1869个小节阅读:467.2k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
##2.4 直连数据库(mysql)模式安装
把apache-hive-3.1.2-bin.tar.gz上传到node2的/opt/apps目录下
解压apache-hive-3.1.2-bin.tar.gz到/opt/module/目录下面
xxxxxxxxxx
[root@node2 apps]# tar -zxvf /opt/apps/apache-hive-3.1.2-bin.tar.gz -C /opt/
修改apache-hive-3.1.2-bin.tar.gz的名称为hive-3.1.2
xxxxxxxxxx
[root@node2 apps]# mv /opt/apache-hive-3.1.2-bin/ /opt/hive-3.1.2
修改/etc/profile,添加环境变量
x[root@node2 apps]# vim /etc/profile
#添加内容
# hive环境变量配置
exprot HIVE_HOME=/opt/hive-3.1.2
export PATH=$PATH:$HIVE_HOME/bin
#使环境变量生效
[root@node2 hive-3.1.2]# source /etc/profile
解决日志Jar包冲突
xxxxxxxxxx
[root@node2 apps]# mv $HIVE_HOME/lib/log4j-slf4j-impl-2.10.0.jar $HIVE_HOME/lib/log4j-slf4j-impl-2.10.0.bak_up2021
将MySQL的JDBC驱动拷贝到Hive的lib目录下
xxxxxxxxxx
[root@node2 apps]# cp /opt/apps/mysql-connector-java-5.1.48.jar $HIVE_HOME/lib
配置Metastore到MySql
修改hive-site.xml
xxxxxxxxxx
[root@node2 apps]# vim $HIVE_HOME/conf/hive-site.xml
添加如下配置内容:
xxxxxxxxxx
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- jdbc连接的URL设置 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://node1:3306/hive?useSSL=false</value>
</property>
<!-- jdbc连接的Driver类设置-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- 指定jdbc连接的username-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!-- 指定jdbc连接mysql的password -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<!-- Hive默认在HDFS的工作目录 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</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>
</configuration>
在node1上mysql数据库中创建数据库实例hive
xxxxxxxxxx
[root@node1 ~]# mysql -uroot -p123456
mysql> create database hive;
Query OK, 1 row affected (0.00 sec)
mysql> use hive
Database changed
mysql> show tables;
Empty set (0.00 sec) # 神马表都没有,根本没有hive的元数据
mysql> quit;
Bye
在node2上初始化hive的元数据到mysql数据库的hive实例下
xxxxxxxxxx
[root@node2 conf]# schematool -initSchema -dbType mysql -verbose
在node1的mysql数据库中查看hive实例下表,会发现多了74张表。