当前位置:   article > 正文

【大数据之Hive】四、配置Hive元数据存储到MySQL_hive元数据配置到mysql

hive元数据配置到mysql

需求:
  把Hive元数据写道MySQL的metastore数据库中(MySQL默认没有metastore数据库,需要提前创建:create database metastore;)
  连接地址:jdbc:mysql//hadoop102:3306/metastore
  驱动:com.mysql.cj.jdbc.Driver
  用户名:root
  密码:123456

1 配置元数据到MySQL

(1)新建元数据库:

#登录到MySQL
mysql -u root -p123456

#创建元数据库
mysql>create database metastore;
mysql>quit;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

(2)把MySQL的JDBC驱动拷贝到Hive的lib目录下(此处用的是MySQL8.0.33的驱动):

cd /opt/software/mysql-connector-j-8.0.33.jar /opt/module/hive/lib
  • 1

(3)在$HIVE_HOME/conf下创建hive-site.xml文件:

vim hive-site.xml

#添加以下内容:
<?xml version="1.0"?>
<?xml-stylesheettype="text/xsl" href="configuration.xsl"?>

<configuration>
    <!-- jdbc连接的URL-->
    <!--主机名:端口号/数据库名 -->
   <property>
       <name>javax.jdo.option.ConnectionURL</name>
       <value>jdbc:mysql://hadoop102:3306/metastore?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>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>/user/hive/warehouse</value>
   </property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

(4)初始化hive元数据库,改为用MySQL存储:

bin/schematool -dbType mysql -initSchema -verbose
  • 1

2 验证元数据是否配置成功

(1)启动hive:

bin/hive
  • 1

(2)使用hive:

hive> show databases;
hive> show tables;
hive> create table stu(id int, namestring);
hive> insert into stuvalues(1,"liao");
hive> select * from stu;
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
在这里插入图片描述
(3)在另外一个窗口开启hive,可以看到两个窗口都可以操作hive,没有异常:

hive>show databases;
hive>show tables;
hive>select * from stu;
  • 1
  • 2
  • 3

3 查看MySQL中的元数据

(1)登录MySQL:

mysql -u root -p123456
  • 1

(2)查看元数据库metastore:

mysql> show databases;
mysql> use metastore;
mysql> show tables;
  • 1
  • 2
  • 3

在这里插入图片描述
(i)查看元数据中存储的库信息,hive中默认有default数据库:

mysql>select * from DBS;
  • 1

在这里插入图片描述
(ii)查看元数据中存储的表信息,TBLS中保存了在hive中创建所有表的信息,创建的表的根目录等信息保存在SDS表中:

mysql>select * from TBLS;
  • 1

在这里插入图片描述
(iii)查看元数据中存储的列相关信息,保存创建表的字段的信息:

mysql>select * from COLUMNS_V2;
  • 1

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/909446
推荐阅读
相关标签
  

闽ICP备14008679号