hive开启metastore、hiveserver2

hive配置了元数据存储的介质是mysql数据库,这时候还是local模式,hiveserver2是通过自己的JDBC程序直接访问MySQL,从而获取元数据。

但是如果一旦配置了metastore服务,就必须先启动metastore服务进程,hiveserver2才能正常启动,否则会一直等待,而10000端口一直没起来。

具体步骤如下:

1、hive-site.xml配置元存储介质

<property>

<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql://bigdata:3306/hive?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>

</property>

<property>

<name>javax.jdo.option.ConnectionDriverName</name>

<value>com.mysql.cj.jdbc.Driver</value>

</property>

<property>

<name>javax.jdo.option.ConnectionUserName</name>

<value>root</value>

</property>

<property>

<name>javax.jdo.option.ConnectionPassword</name>

<value>root</value>

</property>

2、hive-site.xml配置metastore服务

<!-- 指定 metastore 的地址和端口 -->

  <property>

      <name>hive.metastore.uris</name>

      <value>thrift://bigdata:9083</value>

  </property>

  <property>

      <name>hive.metastore.client.socket.timeout</name>

      <value>3600</value>

  </property>

3、启动metastore服务:

# 后台启动 metastore 服务器端,默认使用 9083 端口

nohup hive --service metastore &

# 或者使用指定的端口号:

nohup hive --service metastore -p 9083 &

4、启动hiveserver2服务:

# 后台启动 metastore 服务器端,默认使用 10000 端口

nohup hive --service hiveserver2 &

# 或者使用指定的端口号:

nohup hive --service hiveserver2 --hiveconf hive.server2.thrift.port 10001  &

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容