MapReduce作業執行流程

2021-10-04 23:37:19 字數 1342 閱讀 9178

mapreduce作業執行流程

0 準備階段

0.1 回顧hadoop配置檔案mapred-site.xml

mapreduce.framework.name

yarn

hadoop 2.x引入了一種新的執行機制。這種新機制(mr 2)建立在乙個名為yarn的系統上。而用於執行的框架通過 「mapreduce.framework.name」 屬性進行設定。

mapreduce.framework.name取值:

local: 表示本地的作業執行器

classical: 表示經典的mr框架(也稱mr 1,它使用乙個 jobtracker 和多個 tasktracker)

yarn: 表示新的框架

關於yarn,在此不做展開介紹,後續會專門撰寫yarn系列博文。

0.2 角色介紹

資源管理器: 即 resource manager(rm),負責管理所有應用程式計算資源的分配。

容器: 即 containers, yarn為將來的資源隔離而提出的框架,每乙個任務對應乙個container,且只能在該container中執行。

節點監視器: 即 node manager,管理每個節點上的資源和任務,主要有兩個作用:定期向am匯報該節點的資源使用情況和各個container的執行狀態;接收並處理am的任務啟動、停止等請求。

1 mr執行機制

1.1 yarn上的mr 角色實體

client: 提交mapreduce作業

resourcemanger: 協調集群上的計算資源分配

nodemanager: 啟動和監視集群中機器上的計算容器(container)

hdfs: 儲存作業的資料、配置資訊等

1.2 作業的執行過程

動態展示流程圖:

(1)提交作業

client提交job:

(2)作業初始化

(3)任務分配

請求也為任務指定了記憶體需求。在預設情況下, map任務和reduce任務都分配到 1024mb 的記憶體,但這可以通過 mapreduce.map.memory.mb 和 mapreduce.reduce.memory.mb來設定。

(4)任務執行

(5)進度和狀態的更新

(6)作業完成

1.3 圖說mr

summary

1 mr任務執行流程:提交作業 ——> 初始化作業 ——> 任務分配 ——> 任務執行 ——> 進度和狀態更新 ——> 作業完成

2 mr任務執行:(a) 推測執行, (b) 任務jvm重用

reference link

[1] mr任務執行的兩種情況:

[2] mapreduce程式的工作過程: 

MapReduce作業執行流程

一.mapreduce作業執行流程 根據原始碼分析作業的提交流程時序圖如下 mr的作業流程圖 1.在客戶端啟動乙個作業。2.通過jobclient向jobtracker請求乙個job id和資源檔案存放路徑。3.將執行作業所需要的資源檔案複製到hdfs上,包括mapreduce程式打包的jar檔案 ...

MapReduce執行流程

mapreduce的大體流程是這樣的,如圖所示 由可以看到mapreduce執行下來主要包含這樣幾個步驟 1.首先對輸入資料來源進行切片 2.master排程worker執行map任務 3.worker讀取輸入源片段 4.worker執行map任務,將任務輸出儲存在本地 5.master排程work...

MapReduce執行流程

1.客戶端提交作業給yarn集群,rm接受客戶端所提交的作業。2.rm根據作業所要處理的檔案來決定map任務在哪些節點上執行,然後確定reduce任務在哪些節點 nn 上執行。3.rm分配map任務和reduce任務到相應的節點上。4.map任務開始執行,將執行結果臨時儲存到本地 執行過map任務的...