Yarn架構(Master Slave) 進程角色: resourceManager(Master):任務調度和集群資源管理。 nodeManager(Slave):單個節點的資源管理。 applicationMaster:為任務程式申請資源,任務程式運行狀態監控、錯誤恢復。 container:對 ...
Yarn架構(Master-Slave)
進程角色:
resourceManager(Master):任務調度和集群資源管理。
nodeManager(Slave):單個節點的資源管理。
applicationMaster:為任務程式申請資源,任務程式運行狀態監控、錯誤恢復。
container:對運行環境資源的抽象,是資源分配和使用的單元,包括cpu、記憶體、環境變數等資源。
client:發起任務的請求。
任務提交流程 :
用戶將作業提交到client,client將任務提交給resourceManager,resourceManager選取一個nodeManager來啟動一個applicationMaster,這個applicationMaster根據當前作業反過來向resourceManager申請計算資源,resourceManager將可用資源以一個個container的形式返給applicationMaster,applicationMaster根據各container的位置等屬性,將計算任務發送到相應nodeManager,由nodeManager分配container並執行,每個container向applicationMaster同步任務執行狀態,整個作業所涉及的每個container中的任務都全部執行完畢後,applicationMaster將結果寫入目的地,同時applicationMaster將作業完畢的消息反饋給resourceManager,resourceManager將本次作業申請的container資源全部回收,供後續作業申請。