MapReduce工作原理
第一部分:MapReduce工作原理 MapReduce 角色•Client :作业提交发起者。•JobTracker: 初始化作业,分配作业,与TaskTracker通信,协调整个作业。•TaskTracker:通过心跳heartbeat保持JobTracker通信,在分配的数据片段上执行MapReduce任务。提交作业•在作业提交之前,需要对作业进行配置•程序代码,主要是自己书写的MapReduce程序。•输入输出路径•其他配置,如输出压缩等。•配置完成后,通过JobClinet来提交作业的初始化•客户端提交完成后,JobTracker会将作业加入队列,然后进行调度,默认的调度方法是FIFO调试方式。任务的分配•TaskTracker和JobTracker之间的通信与任务的分配是通过心跳机制完成的。•TaskTracker会主动向JobTracker询问是否有作业要做,如果自己可以做,那么就会申请到作业任务,这个任务可以使Map也可能是Reduce任务。任务的执行•申请到任务后,TaskTracker会做如下事情:•拷贝代码到本地•拷贝任务的信息到本地•启动JVM运行任务状态与任务...