Hadoop學習——YARN
1、Yarn的大致結構
Resource Manager(RM,資源管理器):負責整個系統(tǒng)的資源管理和分配,并且由Scheduler和Application Manager組成;
Scheduler(調(diào)度器):根據(jù)容量、隊列等,將系統(tǒng)中資源分配給各個正在運行的應用程序;
Application Manager(ASM,應用程序管理器):負責管理整個系統(tǒng)中所有應用程序,包括應用程序提交、與調(diào)度器協(xié)商資源以啟動Application Master、監(jiān)控Application Master運行狀態(tài)并在失敗時重新啟動它等;
Application Master(AM)用戶提交的每個應用程序均包含一個AM,主要功能包括:與RM協(xié)商以獲取資源(用Container表示)、與NM通信啟動或停止任務、監(jiān)控所有任務運行狀態(tài),并在任務運行失敗時重新為任務申請資源以重啟任務;
Node Manager(NM,節(jié)點管理器):是每個節(jié)點的資源和任務管理器。一方面,定時地向RM匯報本節(jié)點上的資源使用情況和各個container的運行狀態(tài);另一方面,接受并處理來自AM的Container通信;
Container:是Yarn上的資源抽象,封裝了某個節(jié)點上的內(nèi)存、CPU資源,當AM向RM申請資源時,RM為AM返回的資源便是使用Container表示。一個任務對應一個Container。
2、RM(ResourceManager)和NM(NodeManager)的交互
RM負責找到一個能夠在容器中啟動application master的NM-節(jié)點管理器;
NM會定時的向RM匯報本節(jié)點上的資源使用情況和各個container的運行狀態(tài)。
3、Yarn是如何分配任務的?
首先,客戶端聯(lián)系資源管理器,要求它運行一個Application Master進程;然后,資源管理器找到一個能夠在容器中啟動Application Master的節(jié)點管理器。之后可能只是做一個簡單的運算,也有可能需要向資源管理器請求更多的容器,用以完成一個分布式計算。
4、Yarn中的調(diào)度器(具體內(nèi)容建議翻閱《Hadoop權威指南》)
三種調(diào)度器:FIFO Scheduler、Capacity Scheduler、Fair Scheduler
1)FIFO調(diào)度器:將應用放置在一個隊列中,然后按照提交的順序(先進先出)運行應用;
2)容量調(diào)度器:允許多個組織共享一個集群資源,一個組織被配置一個專門的隊列,在每個隊列中,使用FIFO調(diào)度策略對應用進行調(diào)度;
3)公平調(diào)度器:在同一個隊列中的應用會得到相同的資源運行。
5、Yarn的優(yōu)勢
可擴展性(Scalability):根據(jù)《Hadoop權威指南》所說,利用其資源管理器和application master分離的架構優(yōu)點,可以擴展到面向近萬個節(jié)點和近十萬個任務;
可用性(Avaliability):相比較之前JobTracker的高可用,Yarn將其分而治之:先為資源管理器提供高可用性,再為Yarn應用(針對每個應用)提供高可用性;
利用率(Utilization):一個節(jié)點管理器管理一個資源池,對資源是精細化管理的;
多租戶(Multitenancy):MapReduce只是Yarn應用中的一個。
給張Yarn應用的運行機制圖(摘錄自《Hadoop權威指南》)

---------------------
作者:恰到好處的喜歡
來源:CSDN
原文:https://blog.csdn.net/m0_37461645/article/details/84929891
滇公網(wǎng)安備 53011202001166號
15808795836