提交一个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状态。任务的执行顺序如下图所示:
在每个任务的执行过