,3>Р输入的中间结果<k2,List(v2)>中的List(v2)表示是一批属于同一个k2的valueРР7.2 MapReduce的体系结构РРMapReduce体系结构主要由四个部分组成,分别是:Client、JobTracker、TaskTracker以及TaskРР7.2 MapReduce的体系结构РMapReduce主要有以下4个部分组成:?1)Client?用户编写的MapReduce程序通过Client提交到JobTracker端?用户可通过Client提供的一些接口查看作业运行状态?2)JobTracker?JobTracker负责资源监控和作业调度?JobTracker 监控所有TaskTracker与Job的健康状况,一旦发现失败,就将相应的任务转移到其他节点?JobTracker 会跟踪任务的执行进度、资源使用量等信息,并将这些信息告诉任务调度器(TaskScheduler),而调度器会在资源出现空闲时,选择合适的任务去使用这些资源РР7.2 MapReduce的体系结构Р3)TaskTracker?TaskTracker 会周期性地通过“心跳”将本节点上资源的使用情况和任务的运行进度汇报给JobTracker,同时接收JobTracker 发送过来的命令并执行相应的操作(如启动新任务、杀死任务等)?TaskTracker 使用“slot”等量划分本节点上的资源量(CPU、内存等)。一个Task 获取到一个slot 后才有机会运行,而Hadoop调度器的作用就是将各个TaskTracker上的空闲slot分配给Task使用。slot 分为Map slot 和Reduce slot 两种,分别供MapTask 和Reduce Task 使用?4)Task?Task 分为Map Task 和Reduce Task 两种,均由TaskTracker 启动