NameNode中的高可用方案


NN中元數據的可靠性是可以保證的,但是其可用性並不高,因為Namenode是單節點的,所以一旦這個節點不能工作,那么整個hdfs都不能工作,但是由於SecondaryNameNode的機制,所以,即便NameNode不能工作,元數據也不會丟失,人為介入之后是可以恢復的,不會導致數據丟失。因此可靠性高不代表可用性也高。因此NameNode的HA方案呼之欲出。

1-能否讓兩個NN都正常響應客戶端請求?

應該讓兩個NN節點在某一個時間只能有一個響應客戶端請求,響應請求的節點必須是Active那一個;

2-standby狀態的節點必須能夠快速無縫切換到active狀態;

意味着兩個NN節點必須時刻保持元數據一致;

3-如何監控NN狀態

兩個NN節點的狀態存放在ZK中,另外兩個NN節點分別有一個進程監控程序,實施讀取ZK中有NN的狀態,來判斷當前的NN是不是已經down機。如果standby的NN節點的ZKFC發現主節點已經掛掉,那么就會強制給原本的active NN節點發送強制關閉請求,之后將備用的NN設置為active

Hadoop為NN提供的HA機制如下圖所示:

ZKFC負責NN的Acitive切換

 

上圖中一組NN(active和standby節點)稱為一個federation,可以多組federation獨立運行。

hdfs://ns1/aa/bb

hdfs://ns2/aa/bb

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM