YARN是Hadoop中的分布式資源調度系統,在Hadoop2.x版本才引入的概念,
一、概述
Yarn是一個資源調度平臺,負責為運算程式提供服務器運算資源,相當于一個分布式(不止管自己計算機的調度,還可以管理其他的計算機調度問題)的作業系統平臺,而mapreduce等運算程式則相當于運行于作業系統之上的應用程式,
二、YARN的基本架構
YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等組件構成,

三、YARN的作業機制

程式運行完畢后,MR會向RM注銷自己,
四、YARN的重要概念
1)Yarn并不清楚用戶提交的程式的底層運行機制,具體的由Application Master去做
2)Yarn只提供運算資源的調度(用戶程式向Yarn申請資源,Yarn就負責分配資源)
3)Yarn中的主管角色叫ResourceManager
4)Yarn中具體提供運算資源的角色叫NodeManager
5)這樣一來,Yarn其實就與運行的用戶程式完全解耦,就意味著Yarn上可以運行各種型別的分布式運算程式(mapreduce只是其中的一種),比如mapreduce、storm程式,spark程式……
6)所以,spark、storm等運算框架都可以整合在Yarn上運行,只要他們各自的框架中有符合Yarn規范的資源請求機制即可,
7)Yarn就成為一個通用的資源調度平臺,從此,企業中以前存在的各種運算集群都可以整合在一個物理集群上,提高資源利用率,方便資料共享,
五、YRAN中的資源調度器
Hadoop作業調度器主要有三種:FIFO、Capacity Scheduler和Fair Scheduler,Hadoop2.7.2默認的資源調度器是Capacity Scheduler,
1、先進先出調度器(FIFO)

其服務器節點資源處在佇列中,先進先出,誰先來的誰先運行,在運行程序中,會把所有YARN資源占據,其中job里的所有的MapTask、ReduceTask都需要一個一個的排隊等待執行,
2、容量調度器(Capacity Scheduler)

如上圖,把整個YARN資源分成三部分,這樣同時可以執行三個job
3、公平調度器(Fair Scheduler)

雨露均沾,其中job的優先級通過差額進行計算,服務器中資源少的時候不建議用這個調度方法,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/293914.html
標籤:其他
