1、MapReduce 1.x
用于计算和调度资源,Client——>JobTracker——>JobTask(Map Job or Reduce Job)
——>JobSchedule
JobSchedule用于给JobTask中的任务分配资源,JobTask通过心跳向JobTracker汇报资源和状态,task工作过程为map - > shuffle - > sort - > secondary sort - > reduce
2、MapReduce 2.x
用于计算,为主从结构,资源调度通过Yarn(NodeManager , ResourceManager)
(1)客户端发布MapReduce Job,
(2)Application Manager协商确定任务在第一次提交时所需的资源,并分配Container。Schedula只负责资源的分配,
(4)Application Master监控Container的资源及运行状态,并适当向Schedule请求资源。
NodeManager定时的向ResourceManager报告节点状态。