配置Hive元数据存储到MySQL

avatar
作者
筋斗云
阅读量:0

在这里插入图片描述
在这里插入图片描述

文章目录

配置Hive元数据存储到MySQL

背景介绍

在安装完Hive之后,需要将Hive的元数据写入到MySQL的metastore数据库。
如果说MySQL中缺乏了关于Hive的相关配置,Hive是无法正常启动和运行的。
如果说MySQL进行重装,则需要对Hive服务进行重新的配置。

配置步骤
1) 在MySQL中新建 Hive 元数据库
#登录MySQL [atguigu@hadoop102 software]$ mysql -uroot -p123456  #创建Hive元数据库 mysql> create database metastore; mysql> quit; 
2) 将MySQL的JDBC驱动拷贝到Hive的lib目录下
cp /opt/download/mysql-connector-j-8.0.33.jar lib/ 
3) 更新guava包和hadoop一致
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文件
[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数据库,如果存在先删掉,否则会导致元数据库的创建过程失败。

schematool -dbType mysql -initSchema -verbose 
6) 验证是否成功配置
#首先启动元数据服务 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 

在这里插入图片描述

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!