Hive擴展功能(五)--HiveServer2服務高可用


軟件環境:

linux系統: CentOS6.7
Hadoop版本: 2.6.5
zookeeper版本: 3.4.8

##主機配置: ######一共m1, m2, m3這五部機, 每部主機的用戶名都為centos ``` 192.168.179.201: m1 192.168.179.202: m2 192.168.179.203: m3

m1: Zookeeper, Namenode, DataNode, ResourceManager, NodeManager, Master, Worker
m2: Zookeeper, Namenode, DataNode, ResourceManager, NodeManager, Worker
m3: Zookeeper, DataNode, NodeManager, Worker



#####資料:

參考資料:
http://lxw1234.com/archives/2016/05/675.htm





---
<br>
<br>
####1.編輯hive-site.xml文件 

vi $HIVE_HOME/conf/hive-site.xml

spark.deploy.recoveryMode ZOOKEEPER hive.server2.support.dynamic.service.discovery true hive.server2.zookeeper.namespace hiveserver2_zk hive.zookeeper.quorum m1:2181,m2:2181,m3:2181 hive.zookeeper.client.port 2181 ```

####2.檢驗是否在zookeeper上注冊 1. 先啟動第一部需要服務高可用的主機上的HiveServer2服務 ``` sh $HIVE_HOME/bin/hiveserver2 ``` 2. 再啟動第二部需要服務高可用的主機上的HiveServer2服務 ``` sh $HIVE_HOME/bin/hiveserver2 ``` 3. 在zookeeper所在的主機上查看 ``` sh $ZK_HOME/bin/zkCli.sh ``` ``` ls / ```


####3.測試連接JDBC ####JDBC連接的URL規范: ``` jdbc:hive2:// / ;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=nameSpace ```

語法解析:

<zookeeper quorum>                     # 為Zookeeper的集群鏈接串,如zkNode1:2181,zkNode2:2181,zkNode3:2181
<dbName>                               # 為Hive數據庫(可不填, 默認為default)
serviceDiscoveryMode=zooKeeper         # 指定模式為zooKeeper
zooKeeperNamespace=nameSpace           # 指定ZK中的nameSpace,即參數hive.server2.zookeeper.namespace所定義,在hive-site.sh中定義為hiveserver2_zk

測試連接:

(1)啟動beeline服務:

sh  $HIVE_HOME/bin/beeline

(2)在beeline中輸入以下連接指令:

!connect jdbc:hive2://m3:2181,m4:2181,m5:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2_zk

(3)如沒使用HiveServer2服務高可用是,則連接beeline使用下列指令:

!connect jdbc:hive2://m1





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM