欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > Java访问Hive的几种JDBC URL格式

Java访问Hive的几种JDBC URL格式

2025/2/23 15:29:56 来源:https://blog.csdn.net/sunny05296/article/details/140936892  浏览:    关键词:Java访问Hive的几种JDBC URL格式

1.相关参数的默认值:

1)hive 服务默认端口是 10000
2)zookeeper server默认端口是 2181
3)hive 的默认数据库是 default

2.几种方式访问hive的JDBC URL区别:

1)hive2 server 单点访问 JDBC URL
格式:
jdbc:hive2://<hive2server:port>/<dbName>

示例:
jdbc:hive2://192.168.100.145:10000/frankdb

hive-site.xml 配置文件中的端口配置:
<property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
</property>
如果配置文件中没有配置 hive.server2.thrift.port 或者配置的值不是 10000 则表示 Hive 没有开放 10000 端口。

2)hive2 server HA(zookeeper)方式访问 JDBC URL
格式:
jdbc:hive2://<zookeeper quorum>/<dbName>;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2
说明:
zookeeper quorum:是 hive-site.xml 配置文件中 Zookeeper 的 Quorum 节点列表,以三节点为例格式为:zk_host01:zk_port,zk_host02:zk_port,zk_host03:zk_port
示例:
eg1:
jdbc:hive2://hdp01.hadoop.com:2181,hdp02.hadoop.com:2181,hdp03.hadoop.com:2181/frankdb;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2
eg2:
jdbc:hive2://node01:2181,node02:2181,node03:2181/frankdb;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2

hive-site.xml 配置文件中的相关配置:
<property>
    <name>hive.server2.support.dynamic.service.discovery</name>
    <value>true</value>
</property>
<property>
    <name>hive.server2.zookeeper.namespace</name>
    <value>hiveserver2</value>
</property>
<property>
    <name>hive.zookeeper.quorum</name>
    <value>hdp01.hadoop.com:2181,hdp02.hadoop.com:2181,hdp03.hadoop.com:2181</value>
</property>
<property>
    <name>hive.zookeeper.client.port</name>
    <value>2181</value>
</property>

3)hive2 server 单点访问(带Kerberos认证) JDBC URL
示例:
jdbc:hive2://192.168.100.145:10000/frankdb;principal=frank/hdp01.hadoop.com@HADOOP.COM
jdbc:hive2://192.168.100.145:10000/frankdb;principal=frank/hdp01.hadoop.com@HADOOP.COM;auth=KERBEROS

注意:
a)JDBC URL通常不需要指定auth=KERBEROS,通常是通过配置的方式隐式启用的
b)hive 的 principal 在 hive-site.xml 配置文件中获取(JDBC URL中需要将"_HOST"替换成本机的域名):
<property>
<name>hive.server2.authentication.kerberos.principal</name>
<value>frank/_HOST@HADOOP.COM</value>
</property>


4)hive2 server HA(zookeeper)方式访问(带Kerberos认证) JDBC URL
示例:
jdbc:hive2://hdp01.hadoop.com:2181,hdp02.hadoop.com:2181,hdp03.hadoop.com:2181/frankdb;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;principal=frank/_HOST@HADOOP.COM
jdbc:hive2://hdp01.hadoop.com:2181,hdp02.hadoop.com:2181,hdp03.hadoop.com:2181/frankdb;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;principal=frank/_HOST@HADOOP.COM;auth=KERBEROS

注意:
a)JDBC URL通常不需要指定auth=KERBEROS,通常是通过配置的方式隐式启用的
b)hive 的 principal 在 hive-site.xml 配置文件中获取(JDBC URL中"_HOST"不能替换、不能写固定节点的域名,因为他会去 zookeeper 上找,可能访问不同节点的 hiveserver2):
<property>
<name>hive.server2.authentication.kerberos.principal</name>
<value>frank/_HOST@HADOOP.COM</value>
</property>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词