一个MapReduce作业的执行流程是: 代码编写→作业配置→ 作业提交→Map 任务的分配和执行→处理中间结果→Reduce任务的分配和执行→作业完成, 而在每个任务的执行过程中, 又包含输入准备-任务执行斗输出结果。
上图给出了MapReduce作业详细的执行流程 图。 从图中可以看出MapReduce作业的执行可以分为11个步骤,涉及4个独立的实体。 它们在MapReduce 执行过程中的主要作用是:
1.客户端( client) :编写MapReduce 代码, 配置作业,提交作业:
2.Job Tracker : 初始化作业,分配作业,与TaskTracker 通信,协调整个作业的执行:
3.TaskTracker : 保持Job Tracker的通信,在分配的数据片段上执行Map或Reduce任务。 需要注意的是图中 TaskTracker节点后` 的省略号表示Hadoop集群中可以包含多个 TaskTracker ;
4.HDFS: 保存作业的数据 、 配置信息等, 保存作业结果。