在 yarn 中,任何兩個需相互通訊的元件之間僅有乙個 rpc 協議,而對於任何乙個 rpc 協議,通訊雙方有一端是 client,另一端為 server,且 client 總是主動連線 server 的,因此,yarn 實際上採用的是
拉式(pull-based)通訊模型。如圖所示,箭頭指向的元件是 rpc server,而箭頭尾部的元件是 rpc client,yarn 主要由以下幾個 rpc 協議組成 :
admin(管理員)與rm 之間的通訊協議—resourcemanageradministrationprotocol :admin 通過該 rpc 協議更新系統配置檔案,比如節點黑白名單、使用者佇列許可權等。
am與nm之間的協議—containermanagementprotocol :am 通過該 rpc 要求nm 啟動或者停止 container,獲取各個 container 的使用狀態等資訊。
nm與rm之間的協議—resourcetracker :nm 通過該 rpc 協議向 rm 註冊,並定時傳送心跳資訊匯報當前節點的資源使用情況和 container 運**況。
步驟 6 nodemanager 為任務設定好執行環境(包括環境變數、jar 包、二進位制程式等)後,將任務啟動命令寫到乙個指令碼中,並通過執行該指令碼啟動任務。
前執行狀態。
yarn工作流程
對多工執行環境的抽象,包括cpu 記憶體等多維度資源以及環境變數 啟動命令等任務執行的相關環境 執行流程 1 客戶端向rm中提交程式 2 rm向nm中分配乙個container,並在該container中啟動am 3 am向rm註冊,這樣使用者可以直接通過rm檢視應用程式的執行狀態 然後它將為各個任...
YARN工作流程
執行在yarn上的應用程式主要分為兩類 短應用程式和長應用程式,其中,短應用程式是指一定時間內 可能是秒級 分鐘級或小時級,儘管天級別或者更長時間的也存在,但非常少 可執行完成並正常退出的應用程式,比如mapreduce作業 將在第8章介紹 tez dag作業等,長應用程式是指不出意外,永不終止執行...
YARN基本框架和工作流程
nodemanager nm container yarn的通訊協議 yarn工作流程 排程器應用程式管理器nm是每個節點上的資源和任務管理器,一方面,它會定時地向rm匯報本節點上的資源使用情況和各個container的執行狀態,另一方面,它接收並處理來自am的container啟動 停止等各種請求...