hadoop中job提交的源码分析

注:图片显示不完整,请右键在新标签页中打开i图片


下面这幅图说明了new JobClient()的时候,完成了连接到服务端,并且获得一个服务端的代理对象操作。服务端就是JobTracker,因为这个类是用来接收客户端提交的计算任务。

第三幅图con.get("mapred.job.tracker","local")表示从配置文件中读取name为mapred.job.tracker的属性,如果属性读取不到则默认为local

这个配置文件是cd /usr/local/hadoop/conf 路径下的mapred-sitx.xml文件   






结论:

问:在eclipse中的写的代码如何提交作业到JobTracker中的呢?
答:(1)在eclipse中调用的job.waitForCompletion(true)实际上执行如下方法
   connect();
   info = jobClient.submitJobInternal(conf);
(2)在connect()方法中,实际上创建了一个JobClient对象。
  在调用该对象的构造方法时,获得了JobTracker的客户端代理对象JobSubmissionProtocol。
  JobSubmissionProtocol的实现类是JobTracker。
(3)在jobClient.submitJobInternal(conf)方法中,调用了
JobSubmissionProtocol.submitJob(...),
        即执行的是JobTracker.submitJob(...)。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值