HDFS2.0 HA實現

  • Active NameNode 和 Standby NameNode:兩臺 NameNode 形成互備,一臺處於 Active 狀態,爲主 NameNode,另外一臺處於 Standby 狀態,爲備 NameNode,只有主 NameNode 才能對外提供讀寫服務;
  • ZKFailoverController(主備切換控制器,FC):ZKFailoverController 作爲獨立的進程運行,對 NameNode 的主備切換進行總體控制。ZKFailoverController 能及時檢測到 NameNode 的健康狀況,在主 NameNode 故障時藉助 Zookeeper 實現自動的主備選舉和切換(當然 NameNode 目前也支持不依賴於 Zookeeper 的手動主備切換);
  • Zookeeper 集羣:爲主備切換控制器提供主備選舉支持;
  • 共享存儲系統:共享存儲系統是實現 NameNode 的高可用最爲關鍵的部分,共享存儲系統保存了 NameNode 在運行過程中所產生的 HDFS 的元數據。主 NameNode 和備 NameNode 通過共享存儲系統實現元數據同步。在進行主備切換的時候,新的主 NameNode 在確認元數據完全同步之後才能繼續對外提供服務。
  • DataNode 節點:因爲主 NameNode 和備 NameNode 需要共享 HDFS 的數據塊和 DataNode 之間的映射關係,爲了使故障切換能夠快速進行,DataNode 會同時向主 NameNode 和備 NameNode 上報數據塊的位置信息。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章