# 最近在看Hadoop技术内幕之深入解析MapReduce架构设计与实现原理一书,可能会把我以为比较重要的知识点或模块通过博客记录下来,留给自己和大家。这本书也是刚刚开始看,加上以前自己对MapReduce的理解,如果有什么错的地方,请大家指出。


今天就说一下MapReduce作业的生命周期,如下图:


MapReduce 作业的生命周期_生命周期


  1. 当用户 (Application)提交作业后,JobClient 将作业所需要的相关文件上传到HDFS,并通过RPC(远程调用协议)通知 JobTracker
  2. JobTracker 内 的任务调度模块 为作业 创建一个JobInProgress对象,用来跟踪作业的实时运行状况
  3. JobInProgress 为每个 Task 创建一个 TaskInProgress 对象,用来跟踪子任务的运行状态。
  4. TaskTracker 为任务运行准备环境 , 每个TaskTracker可以运行多个Task,TaskTracher会为每个Task启动一个独立的JVM以避免Task之间的相互影响
  5. 环境准备完毕后,TaskTracker便会启动Task。
  6. 所有的Task执行完毕,MapReudce作业生命周期结束。

谢谢。

 


MapReduce 作业的生命周期_调度模块_02