job提交作业流程

job提交作业流程

  1. 调用waitForCompletion每秒轮询作业进度,内部封装了submit()方法用于创建jobCommit的实例,jobCommit的实例实例会调用自己的submitJobInternal提交作业,如果状态有变化就将作业进度输出在控制台,如果失败也会将错误输出
  2. jobCommit会向ResourceManager申请一个id号用于MapReduce作业,同时检查输出路径,并且计算输入分片
  3. 如果id号申请成功,会将作业所需的资源包括(jar包,分片的元数据,配置文件)放到一个用id命名的目录下的HDFS文件,此时默认副本是10个
  4. 准备工作完成,通知ResourceManager调用submitAppcation提交作业
  5. ResourceManager调用submitAppcation后,会通知yarn调度器,调度器分配一个容器,在节点管理器的监视下启动,application master进程
  6. application master进程的主类是MRAppMaster它的主要作用是初始化任务,并且接收来自任务的进度报告
  7. 然后从HDFS上下载资源主要是split分片,为每个分片创建一个map任务,以及指定参数的reduce任务,任务id此时确定
  8. 然后Application Master会为每一个maptask,和reducetask申请资源首先为maptask申请容器,reducetask在map申请5%的时候开始申请
  9. 运行任务是由YarnChild来执行的,运行任务前,先将资源本地化(jar文件,配置文件,缓存文件)
  10. 运行maptask,和reducetask
  11. 当每个任务都运行完成后Application Master会将任务状态改为success状态,当客户端轮询的时候就会将任务完成信息打印到控制台在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值