在MapReduce运行过程中,在上层主要有四个主体:
客户端:提交MR任务
JobTracker:协调作业的运行,主类为JobTracker
TastTracker:运行作用划分后的任务,主类为TastTracker
共享文件系统:在其他实体之间共享文件,一般为HDFS
MR工作机制
1.提交作业:
客户端启动一个Job;并向JobTracker请求一个作业ID,JobTracker检查作业输出(有没有指定输出路径、输出目录是否已存在)计算作业的输出切片;JobTracker会返回一个作业ID和资源的提交路径;客户端将资源(jar文件、xml配置文件、分片信息)提交到共享文件系统上;客户端向JobTracker提交Job。
2.作业调度:
JobTracker将提交的作业放在内部的任务队列,作业调度器对其调度(具体的调度策略之后说明),并初始化作业(创建一个表示正在运行作业的对象,原来封装任务与记录信息);JobTracker的作业调度器从共享文件系统中获取客户端的分片信息,创建任务执行列表(m