Hadoop HA 配置

在早期Hadoop1只有一個(gè)NameNode芯义,還有一個(gè)secondary NameNode晌纫,secondary NameNode 作為冷備份撒强,在NameNode fail的時(shí)候并不能接替NameNode的工作默蚌,即Hadoop 的單點(diǎn)問(wèn)題,因此Hadoop 2提供了NameNode 的HA機(jī)制滞诺。
什么是HA?

即NameNode有兩個(gè),每一個(gè)都有相同的職能环疼。一個(gè)是active狀態(tài)的习霹,一個(gè)是standby狀態(tài)的。當(dāng)集群運(yùn)行時(shí)炫隶,只有active狀態(tài)的NameNode是正常工作的序愚,standby狀態(tài)的NameNode是處于待命狀態(tài)的,時(shí)刻同步active狀態(tài)NameNode的數(shù)據(jù)等限。一旦active狀態(tài)的NameNode不能工作爸吮,通過(guò)手工或者自動(dòng)切換,standby狀態(tài)的NameNode就可以轉(zhuǎn)變?yōu)閍ctive狀態(tài)的望门,就可以繼續(xù)工作了形娇。這就是高可靠。

從上面描述的情況筹误,可以將HA總結(jié)出兩個(gè)功能:
1. 主備NameNode 數(shù)據(jù)同步
2. 主備NameNode 故障切換

如何做到主備NameNode數(shù)據(jù)同步桐早?
為了同步數(shù)據(jù),新HDFS采用了一種共享機(jī)制,Quorum Journal Node(JournalNode)集群或者Nnetwork File System(NFS)進(jìn)行共享哄酝。NFS是操作系統(tǒng)層面的友存,JournalNode是hadoop層面的,我們這里使用JournalNode集群進(jìn)行數(shù)據(jù)共享(這也是主流的做法)陶衅。如下圖所示屡立,便是JournalNode的架構(gòu)圖。

JournalNode

兩個(gè)NameNode為了數(shù)據(jù)同步搀军,通過(guò)一組稱作JournalNodes的獨(dú)立進(jìn)程進(jìn)行相互通信膨俐。當(dāng)active狀態(tài)的NameNode的命名空間有任何修改時(shí),會(huì)告知大部分的JournalNodes進(jìn)程罩句。standby狀態(tài)的NameNode有能力讀取JNs中的變更信息焚刺,并且一直監(jiān)控edit log的變化,把變化應(yīng)用于自己的命名空間门烂。standby可以確保在集群出錯(cuò)時(shí)乳愉,命名空間狀態(tài)已經(jīng)完全同步了。
在 hdfs-site.xml 添加JournalNodes的配置:

<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://nn1ss:8485;nn2ss:8485;nn3ss:8485/hadoopQjournalDir</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/data/dfs/jn</value>
</property>

如何做到主備NameNode故障切換屯远?
對(duì)于HA集群而言蔓姚,確保同一時(shí)刻只有一個(gè)NameNode處于active狀態(tài)是至關(guān)重要的。否則氓润,兩個(gè)NameNode的數(shù)據(jù)狀態(tài)就會(huì)產(chǎn)生分歧赂乐,可能丟失數(shù)據(jù),或者產(chǎn)生錯(cuò)誤的結(jié)果咖气。為了保證這點(diǎn)挨措,這就需要利用使用ZooKeeper了。首先HDFS集群中的兩個(gè)NameNode都在ZooKeeper中注冊(cè)崩溪,當(dāng)active狀態(tài)的NameNode出故障時(shí)浅役,ZooKeeper能檢測(cè)到這種情況,它就會(huì)自動(dòng)把standby狀態(tài)的NameNode切換為active狀態(tài)伶唯。

FailoverController

** 自動(dòng)切換流程簡(jiǎn)介:**FailoverController ActiveFailoverController Standby 分別作為zk集群在namenode集群的代理代理人感知到namenode集群出現(xiàn)了問(wèn)題后觉既,zk集群會(huì)通過(guò)代理人FailoverController將amenode集群中standby狀態(tài)改為active
自動(dòng)切換ha集群圖如下:
FailoverController服務(wù)是zk的代理 ,內(nèi)嵌在namenode服務(wù)中乳幸,接收zk的監(jiān)督瞪讼,
當(dāng)某個(gè)namenode掛掉后,zk會(huì)通過(guò)shell腳本啟動(dòng)namenode standby節(jié)點(diǎn)變成active節(jié)點(diǎn)粹断。

在core-site.xml 中添加zk:


<property>
<name>ha.zookeeper.quorum</name> ------ 配置zk集群
<value>nn1ss:2181,nn2ss:2181,nn3ss:2181</value>
<description>
A list of ZooKeeper server addresses, separated by commas, that are
to be used by the ZKFailoverController in automatic failover.
</description>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
<description>
Whether automatic failover is enabled. See the HDFS High
Availability documentation for details on automatic HA
configuration.
</description>
</property>

還有最重要的配置符欠,表明主備NameNode的分別為nn1、nn2:


<property>
<name>dfs.ha.namenodes.hadoop</name>
<value>nn1,nn2</value>
<description>
The prefix for a given nameservice, contains a comma-separated
list of namenodes for a given nameservice (eg EXAMPLENAMESERVICE).
</description>
</property>
<property>
<name>dfs.namenode.rpc-address.hadoop.nn1</name>
<value>nn1ss:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.hadoop.nn2</name>
<value>nn2ss:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.hadoop.nn1</name>
<value>nn1ss:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.hadoop.nn2</name>
<value>nn2ss:50070</value>
</property>

參考:
http://chengjianxiaoxue.iteye.com/blog/2174940
http://www.open-open.com/lib/view/open1436855630959.html
https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末瓶埋,一起剝皮案震驚了整個(gè)濱河市希柿,隨后出現(xiàn)的幾起案子诊沪,更是在濱河造成了極大的恐慌,老刑警劉巖曾撤,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件端姚,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡挤悉,警方通過(guò)查閱死者的電腦和手機(jī)渐裸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)尖啡,“玉大人橄仆,你說(shuō)我怎么就攤上這事剩膘⌒普叮” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵怠褐,是天一觀的道長(zhǎng)畏梆。 經(jīng)常有香客問(wèn)我,道長(zhǎng)奈懒,這世上最難降的妖魔是什么奠涌? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮磷杏,結(jié)果婚禮上溜畅,老公的妹妹穿的比我還像新娘。我一直安慰自己极祸,他們只是感情好慈格,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著遥金,像睡著了一般浴捆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上稿械,一...
    開(kāi)封第一講書(shū)人閱讀 49,730評(píng)論 1 289
  • 那天选泻,我揣著相機(jī)與錄音,去河邊找鬼美莫。 笑死页眯,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的厢呵。 我是一名探鬼主播窝撵,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼述吸!你這毒婦竟也來(lái)了忿族?” 一聲冷哼從身側(cè)響起锣笨,我...
    開(kāi)封第一講書(shū)人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎道批,沒(méi)想到半個(gè)月后错英,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡隆豹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年椭岩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片璃赡。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡判哥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出碉考,到底是詐尸還是另有隱情塌计,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布侯谁,位于F島的核電站锌仅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏墙贱。R本人自食惡果不足惜热芹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惨撇。 院中可真熱鬧伊脓,春花似錦、人聲如沸魁衙。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)纺棺。三九已至榄笙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間祷蝌,已是汗流浹背茅撞。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留巨朦,地道東北人米丘。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像糊啡,于是被迫代替她去往敵國(guó)和親拄查。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 簡(jiǎn)述 hadoop 集群一共有4種部署模式棚蓄,詳見(jiàn)《hadoop 生態(tài)圈介紹》堕扶。HA聯(lián)邦模式解決了單純HA模式的性能...
    mtide閱讀 12,790評(píng)論 8 20
  • 1. Zookeeper介紹: 1.基本介紹: Zookeeper: 為分布式應(yīng)用提供分布式協(xié)作(協(xié)調(diào))服務(wù)碍脏。使用...
    奉先閱讀 4,552評(píng)論 0 10
  • 之前的有點(diǎn)忘記了,這里在云筆記拿出來(lái)再玩玩.看不懂的可以留言 大家可以嘗試下Ambari來(lái)配置Hadoop的相關(guān)環(huán)...
    HT_Jonson閱讀 2,947評(píng)論 0 50
  • 官方文檔翻譯,官方鏈接稍算。翻譯水平有限典尾,且以學(xué)習(xí)為主,請(qǐng)諒解和提意見(jiàn)糊探。轉(zhuǎn)載請(qǐng)注明出處<毓 !科平! 接著上一篇發(fā)布的文章繼續(xù)...
    mikeliuy閱讀 1,042評(píng)論 1 3
  • 我在心底收藏了一個(gè)女孩的笑容褥紫,時(shí)時(shí)翻出來(lái)看一眼,自己就害羞的笑了瞪慧!覺(jué)得很幸福髓考!這樣就夠了!
    獨(dú)角獸的天空閱讀 225評(píng)論 0 0