Hive HA使用說明

            hive讓大數據飛了起來,再也不須要專人寫MR。日常咱們均可以用基於thrift的任意語言來調用hive。git

不過愛恨各半,hive的thrift不穩定也是出了名的。很容易就出問題,讓人機關用盡。惟一的辦法就是不斷kill,不斷restart。github

固然,咱們能夠用haproxy來解決這個問題,關鍵,haproxy無論hive是否邏輯可用,不能執行邏輯的hive也「死馬當活馬」。服務器

固然,搞的好的能夠用 zookeeper,不過,它太「重」,並且無論hive的重啓。測試

 

         Hive HA橫空出世。只要指明它能夠管理的服務器ip,端口,啓動一個主控服務器,在其餘服務器上啓動節點服務,它就一切搞定。大數據

        Hive HA原理是:rest

       將若干hive 實例歸入一個資源池,而後對外提供一個惟一的接口,進行proxy relay。server

      對於程序開發人員,就把它認爲是一臺超強「hive"就能夠。每次它接收到一個HIVE查詢鏈接後,都會輪詢資源池裏可用的hive 資源。接口

這樣,能充分使用每一個hive server,減小壓力。在拿到hive 鏈接後,Hive HA會首先進行邏輯可用測試,這個邏輯規則可自行配置。ip

      若是邏輯可用,則直接把客戶端的HIVE 查詢鏈接 relay到該hive server。資源

     若邏輯不可用,則將該hive server放入黑名單,而後繼續讀取池裏其餘hive server進行鏈接測試。

    Hive Ha每隔一段時間(可配置),對黑名單中的hive server進行處理,經過和節點管理服務器通信,重啓該hive server。若是

重啓後可用,則將該hive從黑名單中移除,加入資源池。

  

Hive HA地址:

https://github.com/foxmoon/HiveHa

歡迎你們提出新需求,使用中有疑問請csdn站內聯繫。

相關文章
相關標籤/搜索