HDFS HA 架構理解篇
阿新 • • 發佈:2018-12-05
HA產生的背景
為了防止出現,單節點的NameNode掛了,不能對外提供服務,於是產生了,兩個NameNode的節點,其中一臺是standby,還有一臺是active ,保證了兩個NameNode,無論哪個出現問題,還是可以實時的對外提供服務
HDFS HA 架構
HDFS的HA的出現是為了解決單點問題,兩個NameNode的通過JounalNode共享資料,通過ZKFC來監控NameNode的健康狀態,選舉active,自動備援.DataNode會同時向兩個NameNode
節點發送心跳;
各程序主要作用:
ActiveNN:
ActiveNameNode 會將操作記錄寫到自己的editlog中,同時也會向JounalNode叢集中記錄一份;接受DataNode的心跳和blockreport
StandbyNN:
StandbyNameNode,會接受JounalNode叢集中的日誌,然後執行日誌操作(相當於重演),保證自己的元資料資訊和activenNameNode節點保持一致;也會接收DataNode的心跳和blockreport
JounalNode:
JounalNode,用於 activeNameNode和 standbyNameNode節點之間同步資料,JounalNode的部署節點數為奇數臺
ZKFC:
ZKFC, 監控兩個NameNode的健康狀態; 向ZK定期傳送心跳,使自己可以被選舉;當自己被ZK選舉為主的時候,zkfc程序通過RPC呼叫使NN的狀態變為active,對外提供實時服務,無感知。
備註
zookeeper在實際生產中部署的規模:
生產上50臺規模以下 7臺
50~100 9/11臺
>100 11臺