簡單聊聊HDFS的HA

HDFS 的HA 原理:

HDFS的HA,指的是在一個集羣中存在兩個NameNode,分別運行在獨立的物理節點上。在任何時間點,
只有一個NameNode是處於Active狀態,另一種是在Standby狀態。 Active NameNode負責所有的客戶端的操作,而Standby NameNode用來同步Active NameNode的狀態信息,以提供快速的故障恢復能力。

爲了保證Active NN與Standby NN節點狀態同步,即元數據保持一致。除了DataNode需要向兩個NN發送block位置信息外,還構建了一組獨立的守護進程”JournalNodes”,用來同步FsEdits信息。當Active NN執行任何有關命名空間的修改,它需要持久化到一半以上的JournalNodes上。而Standby NN負責觀察JNs的變化,讀取從Active NN發送過來的FsEdits信息,並更新自己內部的命名空間。一旦ActiveNN遇到錯誤,Standby NN需要保證從JNs中讀出了全部的FsEdits,然後切換成Active狀態。使用HA 的時候,不能啓動SecondaryNameNode ,否則會出錯。

通過zookeeper來實現active和standby之間的自動切換。

如下圖所示:

圖片來自於網絡
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章