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票證。就是需要認證一下

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