本文主要剖析Hadoop作业提交系列的作业文件提交过程
先看JobClient类的源代码开头的注释,翻译如下:
JobClient是一个为了将用户端作业与JobTrack连接的基础接口,JobClient提供了便利的提交作业、跟踪进度,访问组件任务的报告/日志,获取Map-Reduce集群的状态信息等等。作业提交过程涉及如下:
1、检查作业的输入输出规格
2、为作业计算InputSplits(后面的文章详细介绍)
3、如果有需要,为作业的DistributedCache计划必须的账户信息
4、将作业的jar包和配置信息复制到分布式文件系统分map-reduce的系统目录
5、向JobTrack提交作业并随时监控它的状态
通常,用户创建应用,通过JobConf类描述作业的不同方面,并使用JobClient提交作业和监控它的进度
下面是一个例子,关于如何使用JobClient: