當前位置:編程學習大全網 - 源碼下載 - Hadoop生態圈中的調度組件-YARN

Hadoop生態圈中的調度組件-YARN

壹、YARN:Hadoop集群中的同壹資源調度系統。Hadoop2.0後引入,主要功能有:負責集群中資源的統壹調度,響應客戶端的請求。

優缺點

二、YARN核心組件及架構

1. ResourceManger(RM):全局資源管理器,集群中只有壹個活躍的RM,具體功能包括:處理客戶端的請求;啟動監控ApplicationMaster;監控NodeManger;資源的分配和調度。

2.ApplicationMaster(AM):每個應用程序(job任務)對應壹個AM,負責計算job的資源情況,並向RM申請和任務的調度。具體功能包括:(1)計算job資源使用情況,與RM協商申請job的資源情況;(2)與NodeManger通信啟動/停止Container,來執行/終止任務的具體執行;(3)監控任務的運行狀態及失敗處理。

3.NodeManager(NM):節點的資源管理器,每個節點啟動壹個,壹般與DataNode壹 壹對應。具體功能包括:(1)監控和管理當前節點的資源使用情況;(2)通過心跳向RM匯報自身的資源使用情況;(3)處理RM的請求,分配執行AM的Container;(4):處理AM的請求,啟動和停止執行任務的Container。

4.Container:資源的抽象,包括壹系列描述信息,任務的運行資源(節點、CPU、內存等),任務運行環境,啟動命令等。

架構圖見 yarn-arch

三、YARN運行流程

2. RM根據內部調度器,選取壹個資源空閑的NM,啟動壹個Container來運行AM。

3.AM計算應用程序所需資源,向RM進行資源申請,申請字段包括:

message?ResourceRequestProto?{?

optional?PriorityProtopriority?=?1;?//?資源優先級?

optional?stringresource_name?=?2;?//?期望資源所在的host?

optional?ResourceProtocapability?=?3;?//?資源量(mem、cpu)?

optional?int32num_containers?=?4;?//?滿足條件container個數?

optional?boolrelax_locality?=?5?;?//default?=?true;

}?

AM會根據文件的存儲地址,分析運行需要的資源等,向RM申請壹個期望的資源列表,RM同時考慮各個節點資源使用情況,最終分配壹個資源列表。

4. RM返回資源列表,以cotainer結構

message?ContainerProto?{?

optional?ContainerIdProtoid?=?1;?//container?id?

optional?NodeIdProtonodeId?=?2;?//container(資源)所在節點?

optional?stringnode_mon.TokenProtocontainer_token?=?6;?//container?token,用於安全認證?

}

5. AM與NM通信,分配Container並執行任務,以?ContainerLaunchContext 結構發出請求。同時監控各個節點的運行情況(定期心跳),如果失敗,AM可將該節點的任務調度到其他節點運行。

壹個NN可以啟動多個Container。

ContainerLaunchContext結構:

message?ContainerLaunchContextProto?{?

repeated?StringLocalResourceMapProtolocalResources?=?1;?//該Container運行的程序所需的在資源,例如:jar包?

optional?bytestokens?=?2;//Security模式下的SecurityTokens?

repeated?StringBytesMapProtoservice_data?=?3;?

repeated?StringStringMapProtoenvironment?=?4;?//Container啟動所需的環境變量?

repeated?stringcommand?=?5;?//該Container所運行程序的命令,比如運行的為java程序,即$JAVA_HOME/bin/java?org.ourclassrepeated?ApplicationACLMapProto?application_ACLs?=?6;//該Container所屬的Application的訪問控制列表?

}?

RM負責AM的啟動和監控,若異常可重新運行。

AM負責真個job任務的運行、監控,及失敗處理操作。

四、YARN的調度器

先進先出FIFO

Cap 容量調度器

Fire 公平調度器

  • 上一篇:小旋風asp的問題
  • 下一篇:周末快樂留言

    周末快樂留言(1)

    1,海闊天空,後有勇夫;喝多了送祝福;我想在周末見到妳。不知道妳想不想我,五天來壹直想著川味豬肉~

    2.如果妳累了,我會給妳安慰;如果生活很累,有我真誠的陪伴;如果我快樂,我的快樂回饋就不會白費!周末快樂!

    3.感謝您壹直以來對我們工作的支持。在這個周末,我希望妳能在繁忙的壹周後好好休息壹下。祝妳周末愉快,事業順利!

  • copyright 2024編程學習大全網