8.将这三个参数指定的文件上传到hdfs之后,需要将job的jar文件上传到hdfs,名称为submitJobDir/job.jar,使用fs.copyFromLocalFile(originalJarFile, submitJarFile)上传即可。
到这里jobClient.copyAndConfigureFiles(jobCopy, submitJobDir)方法就完成了,期间丢了jobClient.copyAndConfigureFiles(jobCopy, submitJobDir),TrackerDistributedCacheManager.determineTimestampsAndCacheVisibilities(job),TrackerDistributedCacheManager.getDelegationTokens(job, job.getCredentials())三个方法,这三个方法是进行一些cached archives and files的校验和保存其时间戳和权限内容
9.继续我们的jobClient.submitJobInternal()方法,这之后会根据我们设置的outputFormat类执行output.checkOutputSpecs(context),进行输出路径的检验,主要是保证输出路径不存在,存在会抛出异常。这之后就是对输入文件进行分片操作了,writeSplits(context, submitJobDir)。
相关阅读:
Ubuntu 13.04上搭建Hadoop环境
Ubuntu 12.10 +Hadoop 1.2.1版本集群配置
搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个Ubuntu系统进行搭建)