回覆列表
  • 1 # 溪雲閣

    什麼是腦裂問題

    腦裂(brain-split):腦裂是指在主備切換時,由於切換不徹底或其他原因,導致客戶端和Slave誤以為出現兩個active master,最終使得整個叢集處於混亂狀態。

    腦裂問題主要有哪些解決方式

    共享儲存fencing:確保只有一個Master往共享儲存中寫資料。

    客戶端fencing:確保只有一個Master可以響應客戶端的請求。

    Slave fencing:確保只有一個Master可以向Slave下發命令。

    Hadoop的腦裂怎麼解決

    Hadoop公共庫中對外提供了兩種fenching實現,分別是sshfence和shellfence(預設實現),其中sshfence是指透過ssh登陸目標Master節點上,使用命令fuser將程序殺死(透過tcp埠號定位程序pid,該方法比jps命令更準確),shellfence是指執行一個使用者事先定義的shell命令(指令碼)完成隔離。

    切換對外透明:為了保證整個切換是對外透明的,Hadoop應保證所有客戶端和Slave能自動重定向到新的active master上,這通常是透過若干次嘗試連線舊master不成功後,再重新嘗試連結新master完成的,整個過程有一定延遲。在新版本的Hadoop RPC中,使用者可自行設定RPC客戶端嘗試機制、嘗試次數和嘗試超時時間等引數。

    雙機熱備中的腦裂

    在“雙機熱備”高可用(HA)系統中,當聯絡2個節點的“心跳線”斷開時,本來為一整體、動作協調的HA系統,就分裂成為2個獨立的個體。由於相互失去了聯絡,都以為是對方出了故障,2個節點上的HA軟體像“裂腦人”一樣,“本能”地爭搶“共享資源”、爭起“應用服務”,就會發生嚴重後果:或者共享資源被瓜分、2邊“服務”都起不來了;或者2邊“服務”都起來了,但同時讀寫“共享儲存”,導致資料損壞(常見如資料庫輪詢著的聯機日誌出錯)。

    Zookeeper叢集中的腦裂

    Zookeeper3.4.6的選舉演算法是FastLeaderElection,該演算法的規則是投票超過半數的伺服器才能當選為Leader。這個演算法能夠保證leader的唯一性。

  • 中秋節和大豐收的關聯?
  • 今年我在陽臺上種了幾根葡萄(上半年扦插)請問現在要摘心嗎?怎樣管理?