YARN 即MapReduce V2版本。相比MapReduce V1 它有很多優(yōu)點(diǎn):
惠水ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!1. 分散了jobTracker 的任務(wù)。資源管理任務(wù)由資源管理器負(fù)責(zé),作業(yè)啟動、運(yùn)行和監(jiān)測任務(wù)由分布在集群節(jié)點(diǎn)上的應(yīng)用主題負(fù)責(zé)。這樣大大減緩了MapReduce V1中jobTracker 單點(diǎn)瓶頸和單點(diǎn)風(fēng)險(xiǎn)的問題,大大提高了集群的擴(kuò)展性和可用性。
2.在MapReduce V2中ApplicationMaster是一個(gè)用戶可定制的部分,因此用戶可以針對編程模型編寫自己的應(yīng)用主題程序。這樣大大擴(kuò)展了MapReduce V2 的適用范圍。
3.在資源管理上使用Zookper實(shí)現(xiàn)故障轉(zhuǎn)移。當(dāng)資源管理故障時(shí),備用資源管理器將根據(jù)保存在ZooKeeper中的集群狀態(tài)快速啟動。MapReduce V2支持應(yīng)用程序指定檢查點(diǎn)。這就能保證應(yīng)用主題在失敗后能迅速根據(jù)hdfs上的狀態(tài)的狀態(tài)重啟。這兩個(gè)措施大大提高了MapReduce V2的可用性。
4.集群資源統(tǒng)一組織成資源容器,而不像在MapReduce V1中Map池和Reduce池有所差別。這樣只要有任務(wù)請求資源,調(diào)度器就會將集群中的可用資源分配給請求任務(wù),而無關(guān)資源類型。這就大大提高了資源的利用率。
其實(shí)YARN還有很多優(yōu)點(diǎn),在這里就不盡興一一列舉。主要說一下YARN的工作流程。
YARN 具體由哪些部分組成:
YARN共有ResourceManager、NodeManager、JobHistoryServer、Containers、Application Master、job、Task、Client組成。
> Resource Manager: 一個(gè)Cluster 只有一個(gè),負(fù)責(zé)資源調(diào)度、資源分配等工作。
> JobHistory Server: 負(fù)責(zé)查詢job運(yùn)行進(jìn)度及元數(shù)據(jù)管理。
> nodemanager:運(yùn)行在datanode節(jié)點(diǎn),負(fù)責(zé)啟動Application和對資源的管理。
> Containers: Container通過ResourceManager分配。包括容器的cpu、內(nèi)存等資源。
> Application master:通俗來說Application master 相當(dāng)于包工頭,Resource Manager 相當(dāng)于經(jīng)理。Resource Manager 首先將任務(wù)給Application master,然后Application master 在將Resource manager的指示傳達(dá)給各個(gè) nodemanager(相當(dāng)于工人)進(jìn)行干活兒。每個(gè)application只有一個(gè)Applicationmaster,運(yùn)行在node manager節(jié)點(diǎn),Application master是由Resource manager指派的。
> job:一個(gè)mapper、一個(gè)Reducer或一個(gè)進(jìn)程的輸入列表。job也可以叫做Application。
> task:一個(gè)具體做mapper或Reducer的獨(dú)立的工作單元。task運(yùn)行在nodemanager 的Container中。
> client:一個(gè)提交給Resource manager的一個(gè)Application程序。
已經(jīng)知道了YARN由哪些工作單元組成,接下來就來說說一個(gè)job時(shí)如何進(jìn)行處理的整體流程。
用戶向YARN中提交程序/作業(yè),其中包括Application Master啟動、ApplicationMaster的命令及用戶程序等;ResourceManager為作業(yè)分配第一個(gè)Container,并與對應(yīng)的nodemanager通信,要求它在這個(gè)Container中啟動改作業(yè)的Application master;Applicationmaster首先向Resourcemaster注冊,這樣用戶可以直接通過Resourcemanager查詢作業(yè)的運(yùn)行狀態(tài),然后它將為各個(gè)人物申請資源并監(jiān)控任務(wù)的運(yùn)行狀態(tài),知道運(yùn)行結(jié)束;Application通過RPC請求向Resourcemanager申請和領(lǐng)取資源。
然后Applicationmaster 要求指定的nodemanager 節(jié)點(diǎn)啟動任務(wù)。
啟動之后,去干Resource Manager 指定的map tesk。
等Map task干完之后,通知application master。然后application master 去告知resouce manager。接下來Resource manager 分配新的資源給application master,讓它找人干其它的活兒。
接下來Application master 通知nodemanager啟動新的Container準(zhǔn)備干活兒。該活兒的輸入是map task結(jié)束的輸出。
開始干Reduce Task任務(wù)。
等各個(gè)節(jié)點(diǎn)上的Reduce task 都干完了,將干活兒的nodemanager的任務(wù)結(jié)果進(jìn)行同步。做最后的reduce任務(wù)。
等都計(jì)算完了,最后將最終的結(jié)果輸出到hdfs。任務(wù)完成。
通過圖解可以更清楚的了解整個(gè) YARN的工作流程。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。