一、前言

  上一篇博文講解了Zookeeper的典型應(yīng)用場(chǎng)景,在大數(shù)據(jù)時(shí)代,各種分布式系統(tǒng)層出不窮,其中,有很多系統(tǒng)都直接或間接使用了Zookeeper,用來(lái)解決諸如配置管理、分布式通知/協(xié)調(diào)、集群管理和Master選舉等一系列分布式問(wèn)題。

二、 Hadoop

  Hadoop的核心是HDFS(Hadoop Distributed File System)和MapReduce,分別提供了對(duì)海量數(shù)據(jù)的存儲(chǔ)和計(jì)算能力,后來(lái),Hadoop又引入了全新MapReduce框架YARN(Yet Another Resource Negotiator)。在Hadoop中Zookeeper主要用于實(shí)現(xiàn)HA(High Availability),這部分邏輯主要集中在Hadoop Common的HA模塊中,HDFS的NameNode與YARN的ResourceManager都是基于此HA模塊來(lái)實(shí)現(xiàn)自己的HA功能,YARN又使用了Zookeeper來(lái)存儲(chǔ)應(yīng)用的運(yùn)行狀態(tài)。

  YARN

  YARN是一種新的 Hadoop 資源管理器,它是一個(gè)通用資源管理系統(tǒng),可為上層應(yīng)用提供統(tǒng)一的資源管理和調(diào)度,它的引入為集群在利用率、資源統(tǒng)一管理和數(shù)據(jù)共享等方面帶來(lái)了巨大好處。其可以支持MapReduce模型,同時(shí)也支持Tez、Spark、Storm、Impala、Open MPI等。

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開(kāi)發(fā),動(dòng)畫(huà)培訓(xùn)

  YARN主要由ResourceManager(RM)、NodeManager(NM)、ApplicationManager(AM)、Container四部分構(gòu)成。其中,ResourceManager為全局資源管理器,負(fù)責(zé)整個(gè)系統(tǒng)的資源管理和分配。由YARN體系架構(gòu)可以看到ResourceManager的單點(diǎn)問(wèn)題,ResourceManager的工作狀況直接決定了整個(gè)YARN架構(gòu)是否可以正常運(yùn)轉(zhuǎn)。

  ResourceManager HA

  為了解決ResourceManager的單點(diǎn)問(wèn)題,YARN設(shè)計(jì)了一套Active/Standby模式的ResourceManager HA架構(gòu)。

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開(kāi)發(fā),動(dòng)畫(huà)培訓(xùn)

  由上圖可知,在運(yùn)行期間,會(huì)有多個(gè)ResourceManager并存,并且其中只有一個(gè)ResourceManager處于Active狀態(tài),另外一些(允許一個(gè)或者多個(gè))則處于Standby狀態(tài),當(dāng)Active節(jié)點(diǎn)無(wú)法正常工作時(shí),其余處于Standby狀態(tài)的節(jié)點(diǎn)則會(huì)通過(guò)競(jìng)爭(zhēng)選舉產(chǎn)生新的Active節(jié)點(diǎn)。

  主備切換

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式