文章目录
本文是接着上一篇 hadoop系列之使用jar命令提交任务
在上一篇我们最后画了一张图:
我们再jobClient调用init()函数的时候通过RPC获得了一个Jobtracker实例。然后在job调用submitJobInternal()的时候又调用了jobtracker的submitJob().接下来我们从submitJob()函数讲解jobtracker.
一、Jobtracker启动
前面说到client通过RPC调用了Jobtracker的submitJob()操作,那Jobtracker作为RPC的服务端,在启动的时候又做了哪些事情呢?
Jobtracker是一个独立的后台进程,其启动显然是要从main函数启动
public static void main(String argv[]
) throws IOException, InterruptedException {
StringUtils.startupShutdownMessage(JobTracker.class, argv, LOG);
try {
if(argv.length == 0) {
JobTracker tracker = startTracker(new JobConf());
tracker.offerService();
}
else {
if ("-dumpConfiguration".equals(argv[0]) && argv.length == 1) {
dumpConfiguration(new PrintWriter(System