hadoop的job分發機制
阿新 • • 發佈:2018-12-16
- hadoop的jar包主程式執行到job.waitForCompletion(true);
- 向resourcemanger申請一個job任務
- resourcemanger返回job相關資源的路徑(staging-dir,位於hdfs的temp中,存)和jobid給主程式
- 主程式將資源(jar包等)提交到staging-dir,然後向resourcemanger彙報提交成功
- resourcemanger將job加到job佇列
- nodemanger通過心跳機制去檢查任務佇列,檢查是否有需要自己執行的任務,如果有將任務領取
- nodemanger領取任務後初始化container,分配資源(記憶體,磁碟,網路,cpu等),從staging-dir拉取資源。啟動nodemanger的MRAppMaster,並向resourceMangeer註冊。
- nodemanger啟動map task,執行map操作
- nodemanger啟動reduce task,並傳遞map task的結果
- nodemanger的MRAppMaster向resourcemanger登出自己,回收資源 注意: resourcemanger負責資源排程 MRAppMaster負責監控任務