![](https://img-blog.csdn.net/20160215203126034?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
JobClient
每一个job 都会在客户端通过JobClient类将应用程序以及作业的配置参数打包成jar文件存储在HDFS,并把作业提交给 JobTracker。
JobClient.runJob()创建一个新的 JobClient实例,调用其submitJob()函数。
JobClient将作业提交给JobTracker之前,需要进行一些初始化工作,由JobClient.subnitJobInternal(job)完成,包括:(1)向JobTracker请求一个新的 job ID;(2)检测 job的output 配置;(3)计算 job的input splits;(4)将Job运行所需的资源上传到JobTracker的文件系统(HDFS)中的文件夹中,包括 job jar