hive的metastore服务不开启,依然可以连接使用Mysql数据库中的元数据!

Posted 大数据honry2022

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive的metastore服务不开启,依然可以连接使用Mysql数据库中的元数据!相关的知识,希望对你有一定的参考价值。

        我之前有一个疑惑就是,为什么hive的metastore服务没有开启,我依然可以通过连接hiveserver2来连接mysql数据库去访问hive所需要的元数据?

        后来才突然明白了hiveserver2和metasore的配置文件都在同一个hive-site.xml中进行配置的,我把hive默认的Derby数据库改成了Mysql数据库来存储hive需要的元数据,将连接Mysql的四要素(URL、Driver、User、PassWord)配置到了hive-site.xml当中就可以连接MySQL了。因为我们在hive-site.xml中有了MySQL的访问四要素,所以我们不用开启metastore服务,客户端直接连接hiveserver2依然是可以访问到Mysql数据库获取hive需要的元数据,用来操作hive。

         但是我们仔细回想一下,  虽然我们配置了MySQL的连接四要素可以直接通过连接hiveserver2来连接MySQL数据库来获取hive所需要的元数据,那如果我们没有开启metastore服务会怎么样?

        这样就会存在一个潜在的问题,如果不开启metastore服务,将无法监视和管理元数据的一致性和完整性,也无法提供元数据的并发控制和事务管理功能,因此建议始终开启hive的metastore服务来管理hive元数据!

        

hive开启metastore服务

我们必须在hive服务端才能开启hive metastore服务

第一种方式

hive --service metastore -p 9083 &

第二种方式
如果你在hive-site.xml里指定了hive.metastore.uris的port

  <property>
          <name>hive.metastore.uris</name>
          <value>thrift://hadoop003:9083</value>
   </property>

就可以不指定端口启动了

hive --service metastore

以上是关于hive的metastore服务不开启,依然可以连接使用Mysql数据库中的元数据!的主要内容,如果未能解决你的问题,请参考以下文章

升级后连接到 hive 中的 Metastore

Spark 2 连接到 Hive MetaStore [重复]

升级后连接到配置单元中的Metastore

hive metastore配置kerberos认证

Hive 元数据服务 MetaStore

Hive 元数据服务 MetaStore