Yarn的工作機制原理

2021-09-29 17:28:06 字數 1471 閱讀 2438

2)工作機制詳解

(0)mr程式提交到客戶端所在的節點。

(2)rm將該應用程式的資源路徑返回給yarnrunner。

(3)該程式將執行所需資源提交到hdfs上。

(5)rm將使用者的請求初始化成乙個task。

(6)其中乙個nodemanager領取到task任務。

(8)container從hdfs上拷貝資源到本地。

(10)rm將執行maptask任務分配給另外兩個nodemanager,另兩個nodemanager分別領取任務並建立容器。

(11)mr向兩個接收到任務的nodemanager傳送程式啟動指令碼,這兩個nodemanager分別啟動maptask,maptask對資料分割槽排序。

(13)reduce task向maptask獲取相應分割槽的資料。

(14)程式執行完畢後,mr會向rm申請登出自己。

作業提交全過程詳解

(1)作業提交

第0步:client呼叫job.waitforcompletion方法,向整個集群提交mapreduce作業。

第1步:client向rm申請乙個作業id。

第2步:rm給client返回該job資源的提交路徑和作業id。

第3步:client提交jar包、切片資訊和配置檔案到指定的資源提交路徑。

(2)作業初始化

第5步:當rm收到client的請求後,將該job新增到容量排程器中。

第6步:某乙個空閒的nm領取到該job。

(3)任務分配

第10步:rm將執行maptask任務分配給另外兩個nodemanager,另兩個nodemanager分別領取任務並建立容器。

(4)任務執行

第11步:mr向兩個接收到任務的nodemanager傳送程式啟動指令碼,這兩個nodemanager分別啟動maptask,maptask對資料分割槽排序。

第13步:reduce task向maptask獲取相應分割槽的資料。

第14步:程式執行完畢後,mr會向rm申請登出自己。

(5)進度和狀態更新

yarn中的任務將其進度和狀態(包括counter)返回給應用管理器, 客戶端每秒(通過mapreduce.client.progressmonitor.pollinterval設定)向應用管理器請求進度更新, 展示給使用者。

(6)作業完成

除了向應用管理器請求作業進度外, 客戶端每5分鐘都會通過呼叫waitforcompletion()來檢查作業是否完成。時間間隔可以通過mapreduce.client.completion.pollinterval來設定。作業完成之後, 應用管理器和container會清理工作狀態。作業的資訊會被作業歷史伺服器儲存以備之後使用者核查。

Yarn工作機制

yarn是乙個資源排程平台,負責為運算程式提供伺服器運算資源,相當於乙個分布式的作業系統平台,而mapreduce等運算程式則相當於執行於作業系統之上的應用程式1 yarn 並不清楚使用者提交的程式的執行機制 2 yarn 只提供運算資源的排程 使用者程式向 yarn 申請資源,yarn 就負責分配...

YARN的工作原理詳解

yarn是乙個集群資源的管理與任務排程的分布式框架 官網解釋如下 hadoop yarn a framework for jobschedulingandcluster resourcemanagement.yarn的工作原理 1.客戶端提交應用程式給resourcemanager 其實是每個con...

簡單搞定yarn工作機制

yarn概述?yarn 是乙個資源排程平台,負責為運算程式提供伺服器運算資源,相當於乙個分布式的作業系統平台,而mapreduce 等運算程式則相當於執行於作業系統之上的應用程式 yarn的重要概念 1 yarn 並不清楚使用者提交的程式的執行機制 2 yarn 只提供運算資源的排程 使用者程式向y...