NameNode中的高可用方案

2022-02-13 08:49:34 字數 755 閱讀 4245

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

hadoop高可用集群namenode不能自動切換

hadoop版本3.1.2。在搭建完hadoop高可用集群後,一般會驗證一下namenode在發生故障時,能否自動切換。在停掉其中一台namenode服務後,發現剩下的namenode不能自動切換,就是說檢視它們的狀態還是standby。我遇到的原因有兩個 沒有安裝psmisc,導致找不到 fuse...

高可用HA的namenode執行機制

那麼下面我再詳細介紹一下 hdfs 是乙個分布式檔案系統,有namenode和datanode,我們都知道,一旦namenode蕩機,整個集群就會癱瘓,那麼這個問題怎麼處理 一般我們都會有兩個namenode,我們知道有乙個secondary namenode,但是我們知道這個namenode並不能...

Azure 高可用方案

可用性集是 vm 的邏輯分組,可讓 azure 了解應用程式的構建方式,以便提供冗餘和可用性。建議在可用性集內建立兩個或多個 vm,提供高度可用的應用程式,並滿足 99.95 azure sla 的要求。可用性集由可防止硬體故障以及允許安全應用更新的兩個額外分組構成 容錯域 fd 和更新域 ud 容...