提交一个Job后,其Job的状态变化过程如上图。一个Job包含Job Setup、Map、Reduce、Task、Task Clean、Job Cleanup 任务操作。JobTracker先分配一个Job Setup任务让TaskTracker执行,做Job的初始化工作。当Job Setup完成后Job进入RUNNING状态;执行完成后JobTracker分配Map任务给TaskTracker执行;Map 执行完毕后分配Reduce 任务;所有任务完成后,最后分配Job Cleanup任务,成功执行完Job Cleanup操作后Job进入SUCCEEDED状态;如果在执行Map或者Reduce任务期间发生错误,则JobTracker会分配TaskTracker执行Task Cleanup操作。如果Job在执行任务中发生错误,那么Job进入FAILED状态;如果对Job发起Kill操作,则Job进入KILLED状态。任务的执行顺序如下图所示:
在每个任务的执行过程中,JobTracker和TaskTracker会共同维护一个Task的状态,以记录该任务的完成情况,每个Task的状态变迁过程见下图:

本文详细阐述了MapReduce作业(Job)从提交到完成的整个生命周期,包括Job Setup、Map、Reduce、Task Clean和Job Cleanup等阶段。Job状态会随着任务的执行和错误处理而变化,如RUNNING、SUCCEEDED、FAILED、KILLED等。Task状态从UNASSIGNED到SUCCEEDED、FAILED_UNCLEAN、KILLED_UNCLEAN等,展示了TaskTracker和JobTracker如何协作维护任务状态。同时,介绍了Kill Task和Kill Job操作对任务和作业的影响。
最低0.47元/天 解锁文章
2625

被折叠的 条评论
为什么被折叠?



