對多工執行環境的抽象,包括cpu、記憶體等多維度資源以及環境變數、啟動命令等任務執行的相關環境
執行流程
1、客戶端向rm中提交程式
2、rm向nm中分配乙個container,並在該container中啟動am
3、am向rm註冊,這樣使用者可以直接通過rm檢視應用程式的執行狀態(然後它將為各個任務申請資源,並監控它的執行狀態,直到執行結束)
4、am採用輪詢的方式通過rpc協議向rm申請和領取資源,資源的協調通過非同步完成
5、am申請到資源後,便與對應的nm通訊,要求它啟動任務
6、nm為任務設定好執行環境(包括環境變數、jar包、二進位制程式等)後,將任務啟動命令寫到乙個指令碼中,並通過執行該指令碼啟動任務
7、各個任務通過某個rpc協議向am匯報自己的狀態和進度,以讓am隨時掌握各個任務的執行狀態,從而可以在任務失敗時重新啟動任務
8、應用程式執行完成後,am向rm登出並關閉自己
YARN工作流程
執行在yarn上的應用程式主要分為兩類 短應用程式和長應用程式,其中,短應用程式是指一定時間內 可能是秒級 分鐘級或小時級,儘管天級別或者更長時間的也存在,但非常少 可執行完成並正常退出的應用程式,比如mapreduce作業 將在第8章介紹 tez dag作業等,長應用程式是指不出意外,永不終止執行...
YARN基本框架和工作流程
nodemanager nm container yarn的通訊協議 yarn工作流程 排程器應用程式管理器nm是每個節點上的資源和任務管理器,一方面,它會定時地向rm匯報本節點上的資源使用情況和各個container的執行狀態,另一方面,它接收並處理來自am的container啟動 停止等各種請求...
Hadoop之yarn的工作流程
yarn通用資源管理框架主要由以下幾個部分組成 resourcemanager rm nodemanager nm 用來啟動和監控本地計算機資源單位container的利用情況,是每個節點上的資源和任務管理器,定時地向rm匯報本節點上的資源使用情況和各個container 的執行狀態,並且接受並處理...