job提交作業流程

2021-09-26 22:48:50 字數 377 閱讀 5476

呼叫waitforcompletion每秒輪詢作業進度,內部封裝了submit()方法用於建立jobcommit的例項,jobcommit的例項例項會呼叫自己的submitjobinternal提交作業,如果狀態有變化就將作業進度輸出在控制台,如果失敗也會將錯誤輸出

jobcommit會向resourcemanager申請乙個id號用於mapreduce作業,同時檢查輸出路徑,並且計算輸入分片

如果id號申請成功,會將作業所需的資源包括(jar包,分片的元資料,配置檔案)放到乙個用id命名的目錄下的hdfs檔案,此時預設副本是10個

執行任務是由yarnchild來執行的,執行任務前,先將資源本地化(jar檔案,配置檔案,快取檔案)

執行maptask,和reducetask

Job提交流程原始碼

1.開始提交程式 boolean result job.waitforcompletion true 2.當job執行狀態為為define,提交job if state jobstate.define 3.確保job狀態 ensurestate jobstate.define 4.相容新舊api s...

Job提交流程原始碼解析

1.job.waitforcompletion true 在driver中提交job 1 sumbit 提交 1 connect 1 return new cluster getconfiguration initialize jobtrackaddr,conf 通過yarnclientprotoc...

Hadoop框架 job提交流程 本地模式

主要是將任務提交到集群中去並等待完成 boolean verbose 是否將進度列印給使用者看 return 任務成功返回true public boolean waitforcompletion boolean verbose throws ioexception,interruptedexcep...