HiveHA機制原始碼分析

2022-07-01 01:15:12 字數 782 閱讀 3667

hive讓大資料飛了起來,不再需要專人寫mr。平常我們都可以用基於thrift的任意語言來呼叫hive。

不過愛恨各半,hive的thrift不穩定也是出了名的。很容易就出問題,讓人無計可施。唯一的辦法就是不斷kill,不斷restart。

當然,我們可以用haproxy來解決這個問題,關鍵,haproxy不管hive是否邏輯可用,不能執行邏輯的hive也「死馬當活馬」。

當然,搞的好的可以用 zookeeper,不過,它太「重」,而且不管hive的重啟。

hive ha橫空出世。只要指明它可以管理的伺服器ip,埠,啟動乙個主控伺服器,在其他伺服器上啟動節點服務,它就一切搞定。

hive ha原理是:

將若干hive 例項納入乙個資源池,然後對外提供乙個唯一的介面,進行proxy relay。

對於程式開發人員,就把它認為是一台超強「hive"就可以。每次它接收到乙個hive查詢連線後,都會輪詢資源池裡可用的hive 資源。

這樣,能充分使用每個hive server,減少壓力。在拿到hive 連線後,hive ha會首先進行邏輯可用測試,這個邏輯規則可自行配置。

如果邏輯可用,則直接把客戶端的hive 查詢連線 relay到該hive server。

若邏輯不可用,則將該hive server放入黑名單,然後繼續讀取池裡其他hive server進行連線測試。

hive ha每隔一段時間(可配置),對黑名單中的hive server進行處理,通過和節點管理伺服器通訊,重啟該hive server。如果

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

思科VPP原始碼分析(dpo機制原始碼分析)

vpp的dpo機制跟路由緊密結合在一起。路由表查詢 ip4 lookup 的最後結果是乙個load balance t結構。該結構可以看做是乙個hash表,裡面包含了很多dpo,指向為下一步處理動作。每個dpo都是新增路由時的乙個path的結果。dpo標準型別有 dpo drop,dpo ip nu...

JDK類載入機制原始碼分析及原始碼分析

jvm的類載入機制主要有如下三種機制 1.全盤負責 所謂全盤負責,就是說當乙個類載入器載入個個class的時候,該class所依賴和引用的其他class也將由該類載入 器負責載入,除非使用另外乙個類載入器來載入。2.雙親委託 所謂雙親委託則是先讓parent 父 類載入器試圖載入該class 若父載...

HBase限流機制原始碼分析

master啟動的時候會初始化masterquotamanager,並啟動該manager masterquotamanager實現了regionstatelistener介面,可以監聽region的狀態變化,regionstatelistener介面中定義了三個事件,分別是onregionspli...