配置Hive元数据存储到MySQL


文章目录

配置Hive元数据存储到MySQL

背景介绍

在安装完Hive之后,需要将Hive的元数据写入到MySQL的metastore数据库。

如果说MySQL中缺乏了关于Hive的相关配置,Hive是无法正常启动和运行的。

如果说MySQL进行重装,则需要对Hive服务进行重新的配置。

配置步骤
1) 在MySQL中新建 Hive 元数据库
bash 复制代码
#登录MySQL
[atguigu@hadoop102 software]$ mysql -uroot -p123456

#创建Hive元数据库
mysql> create database metastore;
mysql> quit;
2) 将MySQL的JDBC驱动拷贝到Hive的lib目录下
bash 复制代码
cp /opt/download/mysql-connector-j-8.0.33.jar lib/
3) 更新guava包和hadoop一致
bash 复制代码
ls lib/|grep guava
# guava-19.0.jar
rm -f lib/guava-19.0.jar
find /opt/software/hadoop313/ -name guava*
#/opt/software/hadoop313/share/hadoop/common/lib/guava-27.0-jre.jar
#/opt/software/hadoop313/share/hadoop/hdfs/lib/guava-27.0-jre.jar
cp /opt/software/hadoop313/share/hadoop/hdfs/lib/guava-27.0-jre.jar lib/
4) 在$HIVE_HOME/conf目录下新建hive-site.xml文件
bash 复制代码
[atguigu@hadoop102 software]$ vim $HIVE_HOME/conf/hive-site.xml
添加如下内容:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <!-- jdbc连接的URL -->
     <property>
        <name>javax.jdo.option.ConnectionURL</name>mysql
        <value>jdbc:mysql://localhost:3306/hive312?createDatabaseIfNotExist=true</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>root</value>
    </property>

    <!-- jdbc连接的password -->
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
    </property>

    <!-- Hive默认在HDFS的工作目录 -->
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/hive312/warehouse</value>
    </property>
</configuration>
5) 初始化Hive元数据库(修改为采用MySQL存储元数据)

在初始化之前,需要先到MySQL数据库下查看数据库列表中是否存在hive312数据库,如果存在先删掉,否则会导致元数据库的创建过程失败。

bash 复制代码
schematool -dbType mysql -initSchema -verbose
6) 验证是否成功配置
bash 复制代码
#首先启动元数据服务
nohup hive --service metastore 1>/dev/null 2>&1 &

#1、方法一 hive客户端
hive
#2、方法二 基于metastore和hiveserver2的beeline
#启动hiveserver2服务
nohup hive --service hiveserver2 1>/dev/null 2>&1 &
beeline -u jdbc:hive2://single01:10000
相关推荐
二哈喇子!23 分钟前
MySQL数据库概述
mysql
二哈喇子!4 小时前
MySQL命令行导入数据库
数据库·sql·mysql·vs code
阿杰 AJie7 小时前
MySQL 聚合函数总表(完整版)
数据库·mysql
B站计算机毕业设计超人7 小时前
计算机毕业设计Python知识图谱中华古诗词可视化 古诗词情感分析 古诗词智能问答系统 AI大模型自动写诗 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·人工智能·hadoop·python·机器学习·知识图谱·课程设计
尽兴-7 小时前
MySQL 8.0高可用集群架构实战深度解析
数据库·mysql·架构·集群·高可用·innodb cluster
遇见火星7 小时前
MySQL常用命令大全(2026最新版)
数据库·mysql·oracle
霖霖总总7 小时前
[小技巧42]InnoDB 索引与 MVCC 的协同工作原理
运维·数据库·mysql
bbq粉刷匠9 小时前
MySQL 聚合函数&分组&联合查询
数据库·mysql
B站计算机毕业设计超人9 小时前
计算机毕业设计Python+大模型音乐推荐系统 音乐数据分析 音乐可视化 音乐爬虫 知识图谱 大数据毕业设计
人工智能·hadoop·爬虫·python·数据分析·知识图谱·课程设计
霖霖总总9 小时前
[小技巧43]MySQL MVCC 深度解析:快照读 vs 当前读
数据库·mysql