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...