双NameNode的同步机制
前言:Hadoop2.0中基于JournalNode的雙NameNode的元數(shù)據(jù)同步機制
日志節(jié)點(JournalNode)的概念及作用
JournalNode是HA集群(高可用集群,HighAvailabilityCluster)中Active NameNode(ANN,活動名稱節(jié)點)和StandBy NameNode(SNN,備用名稱節(jié)點)之間編輯日志Edits和HDFS元數(shù)據(jù)共享的傳輸介質(zhì)。
主要作用是:為兩個NameNode之間共享數(shù)據(jù),同步狀態(tài)。
過程
Active Namenode往Journal Nodes中寫EditLog數(shù)據(jù)
StandBy Namenode再從Journal Nodes中讀取EditLog數(shù)據(jù)進行同步
日志管理器(QJM)的概念及工作原理
概念:QJM是由多個日志節(jié)點JournalNodes(JN)組成的JournalNode集群,主要用于存儲EditLog,一般運行奇數(shù)個JournalNodes,至少需要3個,每個JournalNode保存同樣的EditLog副本。
基于QJM共享存儲的數(shù)據(jù)同步機制:
當Active NameNode執(zhí)行任何有關(guān)命名空間的修改,它需要告知JournalNodes集群中大多數(shù)(一半以上)的JournalNodes進程
而Standby NameNode負責觀察集群中JournalNodes的變化,有能力從JournalNodes中讀取從Active NameNode發(fā)送過來的信息,一直監(jiān)控EditLog的變化,并更新其內(nèi)部的命名空間,一直監(jiān)控EditLog的變化,并更新其內(nèi)部的命名空間
一旦Active NameNode遇到錯誤,Standby NameNode需要已經(jīng)從JournalNodes中讀出全部EditLog日志,保證在故障切換發(fā)生前其NameNodes的狀態(tài)已經(jīng)完全同步,然后,Standby NameNode再切換成Active狀態(tài)
總結(jié)
以上是生活随笔為你收集整理的双NameNode的同步机制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 结构主题模型(一)stm包工作流
- 下一篇: Hadoop 2.0联邦机制