hive JDBC的url的不同写法

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

url的写法

1、url中参数的拼接

jdbc:hive2://:/dbName;initFile=;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://:/

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

jdbc:hive2:///;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2

的值与hive-site.xml中的hive.zookeeper.quorum配置参数相同。

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

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

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

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

3、kerberos 相关

jdbc:hive2://:/;principal=<Server_Principal_of_HiveServer2>
######注意
这里的principal 指的是服务器的principal,就是JDBC客户端请求服务的principal,当然这个服务的principal是在hive-site.xml中已经配置好的

 <property>
    <name>hive.server2.authentication.kerberos.principal</name>
    <value>hs2/[email protected]</value>
  </property>

这个_HOST 即为开启hive server 服务的 ip 或主机名,一想也可以理解,如果没有开启服务,那也没有没有办法访问。
(如果是tcp连接URL,这里将_HOST 替换成hive server 服务的IP ,如果是zookeeper连接的URL的话,这里不变,就写_HOST)
连接之前,客户端需要在票证缓存中具有有效的Kerberos票证。就是需要认证一下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章