天天看點

map-reduce任務的執行流程

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/qq1010885678/article/details/44657537

(1).用戶端送出一個mr的jar包給JobClient(送出方式:hadoop jar ...)

(2).JobClient通過RPC和JobTracker進行通信,傳回一個存放jar包的位址(HDFS)和jobId

(3).client将jar包寫入到HDFS當中(path = hdfs上的位址 + jobId)

(4).開始送出任務(任務的描述資訊,不是jar, 包括jobid,jar存放的位置,配置資訊等等)

(5).JobTracker進行初始化任務

(6).讀取HDFS上的要處理的檔案,開始計算輸入分片,每一個分片對應一個MapperTask

(7).TaskTracker通過心跳機制領取任務(任務的描述資訊)

(8).下載下傳所需的jar,配置檔案等

(9).TaskTracker啟動一個java child子程序,用來執行具體的任務(MapperTask或ReducerTask

(10).将結果寫入到HDFS當中