Job的运行过程

Job运行过程

Job具体运行过程

a) 运行mapred程序

b) 本次运行将生成一个Job,于是JobClientJobTracker(ResourceManager)申请一个JobId以标识这个Job

c) JobClient将Job需要的资源提交到HDFS一个以JOBID命名的目录中。这些资源包括JAR,配置文件,InputSplit

d) JobClientJobTracker(ResourceManager)提交这个Job

e) JobTracker初始化该Job

f) JobTracker从HDFS获取该JobSplit信息

g) JobTrackerTaskTracker分配任务

h) TaskTracker(NodeManager)从HDFS上获取到该Job相关资源

i) TaskTracker(NodeManager)开启一个新的JVM

j) TaskTracker用一个新的JVM执行Map或者Reducer

 

运行原理解析

class JobSubmitter {

  //这里的maps是分片的个数

  int maps = writeSplits(job, submitJobDir);

  //从这里可以看出,map函数的调用次数取决于maps的个数,是一对一的关系

      conf.setInt(MRJobConfig.NUM_MAPS, maps);

      //把所有的信息写入到配置文件中。JobFile

  writeConf(conf, submitJobFile);

}

转载于:https://www.cnblogs.com/zpb2016/p/5788453.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值