溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Namenode HA 知識點有哪些

發(fā)布時間:2021-12-23 17:46:32 來源:億速云 閱讀:162 作者:iii 欄目:編程語言

這篇文章主要介紹“Namenode HA 知識點有哪些”,在日常操作中,相信很多人在Namenode HA 知識點有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Namenode HA 知識點有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

HA(High Available), 高可用,是保證業(yè)務(wù)連續(xù)性的有效解決方案,一般有兩個或兩個以上的節(jié)點,分為 活動節(jié)點( Active )及 備用節(jié)點( Standby))。用于實現(xiàn)業(yè)務(wù)的不中斷或短暫中斷 NN 是 HDFS 集群的單點故障點。在 HA 具體實現(xiàn)方法不同情況下,HA 框架的流程是一致的,不一致的就是如何存儲、管理、同步 edits 編輯日志文件。

QJM/Qurom Journal Manager,基本原理就是用 2N+1 臺 JournalNode 存儲EditLog,每次寫數(shù)據(jù)操作有>=N+1 返回成功時即認為該次寫成功,數(shù)據(jù)不會丟失了在 HA 模式下,datanode 需要確保同一時間有且只有一個 NN 能命令DN。

FailoverController 主要包括三個組件: 

HealthMonitor:監(jiān)控 NameNode 是否處于 unavailable 或 unhealthy 狀態(tài)。當前通過 RPC 調(diào)用 NN 相應(yīng)的方法完成。

ActiveStandbyElector: 監(jiān)控 NN 在 ZK 中的狀態(tài)。

ZKFailoverController: 訂閱 HealthMonitor 和 ActiveStandbyElector 的事件,并管理 NN 的狀態(tài),另外 zkfc 還負責解決 fencing(也就是腦裂問題)。

ZKFailoverController 主要職責:

健康監(jiān)測:周期性的向它監(jiān)控的 NN 發(fā)送健康探測命令,從而來確定某個NameNode 是否處于健康狀態(tài),如果機器宕機,心跳失敗,那么 zkfc 就會標記它處于一個不健康的狀態(tài)

會話管理:如果 NN 是健康的,zkfc 就會在 zookeeper 中保持一個打開的會話,如果 NameNode 同時還是 Active 狀態(tài)的,那么 zkfc 還會在Zookeeper 中占有一個類型為短暫類型的 znode,當這個 NN 掛掉時,這個 znode 將會被刪除,然后備用的 NN 將會得到這把鎖,升級為主 NN,同時標記狀態(tài)為 Active。

當宕機的 NN 新啟動時,它會再次注冊 zookeper,發(fā)現(xiàn)已經(jīng)有 znode 鎖了,便會自動變?yōu)?Standby 狀態(tài),如此往復(fù)循環(huán),保證高可靠,需要注意,目前僅僅支持最多配置 2 個 NNmaster 選舉:通過在 zookeeper 中維持一個短暫類型的 znode,來實現(xiàn)搶占式的鎖機制,從而判斷那個NameNode 為 Active 狀態(tài)。

到此,關(guān)于“Namenode HA 知識點有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI