美文网首页
hive JDBC的url的不同写法

hive JDBC的url的不同写法

作者: 早点起床晒太阳 | 来源:发表于2020-04-15 20:42 被阅读0次

老是和这块东西接触,今天看看官网并结合自己理解总结下这一块
官网地址:https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients#HiveServer2Clients-JDBC

url的写法

1、url中参数的拼接

jdbc:hive2://<host1>:<port1>/dbName;initFile=<file>;sess_var_list?hive_conf_list#hive_var_list

sess_var_list 是会话变量(例如user=foo;password=bar)的键=值对
hive_conf_list是此session的Hive配置相关的键值对的列表 就是hive-default.xml中的配置项
hive_var_list是此session的hive变量相关的列表

2、不同模式的URL的写法

  • 1、tcp连接URL

jdbc:hive2://<host>:<port>/<db>

  • 2、ZooKeeper连接URL
    ZooKeeper连接URL的模式实现了HiveServer2的高可用性和滚动升级,不需要指定其他配置参数,例如身份验证模式,传输模式或SSL参数,它的信息是在zookeeper中保存的

jdbc:hive2://<zookeeper quorum>/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2

<zookeeper quorum>的值与hive-site.xml中的hive.zookeeper.quorum配置参数相同。
zooKeeperNamespace 的值其实就是在zookeeper中的目录,里面含有开启服务的服务器ip等信息,其实zookeeper连接的方式其实就是去zookeeper上去获取hive服务的地址

  • 3、http连接URL(没用过)
    jdbc:hive2://<host>:<port>/<db>;transportMode=http;httpPath=<http_endpoint>

  • 4、SSL连接URL(没用过)

jdbc:hive2://<host>:<port>/<db>;ssl=true;sslTrustStore=<trust_store_path>;trustStorePassword=

<trust_store_password>
<trust_store_path> 是客户端的信任库文件所在的路径。
<trust_store_password>是访问信任库的密码。

3、kerberos 相关

jdbc:hive2://<host>:<port>/<db>;principal=<Server_Principal_of_HiveServer2>

注意

这里的principal 指的是服务器的principal,就是JDBC客户端请求服务的principal,当然这个服务的principal是在hive-site.xml中已经配置好的

 <property>
    <name>hive.server2.authentication.kerberos.principal</name>
    <value>hs2/_HOST@POTATO.HAMBURG</value>
  </property>

这个_HOST 即为开启hive server 服务的 ip 或主机名,一想也可以理解,如果没有开启服务,那也没有没有办法访问。
(如果是tcp连接URL,这里将_HOST 替换成hive server 服务的IP ,如果是zookeeper连接的URL的话,这里不变,就写_HOST)

连接之前,客户端需要在票证缓存中具有有效的Kerberos票证 就是需要认证一下。

相关文章

网友评论

      本文标题:hive JDBC的url的不同写法

      本文链接:https://www.haomeiwen.com/subject/dabhvhtx.html