HDFS高可用原理,個人理解嘿嘿嘿
阿新 • • 發佈:2019-01-07
HDFS的高可用性將通過在同一個叢集中執行兩個NN(active NN & standby NN)來解決上面兩個問題,
這種方案允許在機器破潰或者機器維護快速地啟用一個新的NN來恢復故障,
為了讓Standby NN的狀態和Active NN保持同步,
即元資料保持一致,
它們都將會和JournalNodes守護程序通訊。
當Active NN執行任何有關名稱空間的修改,
它需要持久化到一半以上的JournalNodes上(通過edits log持久化儲存),
而Standby NN負責觀察edits log的變化,它能夠讀取從JNs中讀取edits資訊,
並更新其內部的名稱空間。一旦Active NN出現故障,Standby NN將會保證從JNs中讀出了全部的Edits,
然後切換成Active狀態。Standby NN讀取全部的edits可確保發生故障轉移之前,是和Active NN擁有完全同步的名稱空間狀態。
為了提供快速的故障恢復,Standby NN也需要儲存叢集中各個檔案塊的儲存位置。
為了實現這個,叢集中所有的Database將配置好Active NN和Standby NN的位置,
並向它們傳送塊檔案所在的位置及心跳。
總結完畢,不知道有沒有幫助到你對hdfs高可用的理解呢?