MapReduce源码解读系列之——作业如何提交到JobTracker

一、环境配置说明
Hadoopversion : 1.1.2
Eclipse环境
Linux版本:Centos 6.4
二、解读
1.在main()方法中有如下代码:
job.waitForCompletion(true)
查看waitForCompletion(…)方法,其中包含以下代码语句:
connect();————————————————————①
info = jobClient.submitJobInternal(conf);—————-②
2.在connect()方法中【代码语句①】
实际上创建了一个JobClient对象
而该对象的构造方法获得了JobTracker的客户端代理对象(类似于RPC)
JobSubmissionProtocol(这是一个接口 JobTracker实现了这个接口,或 JobSubmissionProtocol的实现类是JobTracker)
3.在jobClient.submitJobInternal(conf)方法中【代码语句②】
调用了JobSubmissionProtocol.submitJob(…),也就是执行的是JobTracker.submitJob(…)

因此,将job提交给了JobTracker。

完。

你可能感兴趣的:(mapreduce,源码,代码)