剖析MR作业运行机制
MR作业:
1) 客户端:提交MapReduce作业
2) YARN Resource Manager,协调集群资源分配
3) YARN Node Manager,启动和监控集群计算容器
4) MapReduce application master,协调运行MR作任务。和MR任务在容器中运行,容器由RM分配,NM启动,监控和管理
5) HDFS 与其他实体间共享作业文件
提交作业
Job的submit()方法创建JobCommitter的实例,并调用submitJobInternal()。提交作业后,waitForCompletion()每秒轮询作业进度,如果与上次报告有改变,则将进度报告到控制台。完成后如果成功,显示Counter,如果失败,显示错误详细信息。
Jobcommitter作业提交过程:
1) 向RM申请新的application ID, 用于MR Job ID
2) 检查作业的输出说明,有错误则抛出给MR程序,无错误则提交