下面的代码把Job提交给了JobTracker运行
在Job源码中,看一下submit()方法的实现
在submit()实现中,有两个核心操作,一个是连接到JobTracker,一个是提交作业。
连接JobTracker操作实际上是实例化一个JobClient。
看一下JobClient的构造方法。在构造方法中,调用了init方法。
在L491行,其中JobTracker.getAddress(conf)的源码如下。可以看出,程序会读取配置文件mapred-site.xml中的配置信息。如果文件中配置了mapred.job.tracker,那么就会使用配置值;否则,使用默认值。
可见,连接到JobTracker的含义就是客户端获得JobTracker的一个代理。
提交作业的操作是通过接口JobSubmissionProtocol中的submit方法完成的。