如何用IDE调试MR任务(二)(2016-01)

6.YARN和MR串起来,是由Job ID来串联,前半部分不一样,但后半部分的数字编码是一样的;例如在MR上是“job_1456566866500_0007”,在YARN上是“application_1456566866500_0007”;

7.kerberos认证部分:分两块,一部分是MR客户端提交任务给MR服务端,一部分是MR任务在container上运行时业务逻辑和各个组件交互;MR框架会将第一部分的认证结果传递到第二部分。所以只认证一次就可以了(即获取到第一部分认证所得到的token就可以了)。

一个实际调试过程:

1.采用原理是JAVA的远程调试机制;
2.在map任务/reduce任务(跑在一个container上的进程)启动时,添加jar远程调试的命令:-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y
具体添加操作方式:找map任务/reduce任务启动时的输入参数,具体可见mapreduce-site.xml文件中的“mapreduce.map.java.opts”和“mapreduce.reduce.java.opts”。
3.当通过IDE提交MR任务后,YARN 启动各个container实例,container实例启动时读到上述远程调试命令,则监听本机8000端口;
4.在IDE上,选择MR任务的实现类,通过配置远程调试信息,执行debug。一个完整的操作如下:
(1)通过debug执行main方法,定义MR任务,提交MR任务;

(2)根据YARN WEB UI界面,查看map任务/reduce任务的container信息,确定其所在节点IP;

(3)选在map/reduce类(选择这个类可更方便些)上,以远程调试方式,选择(2)上所确定的IP信息;

然后选择和确定,再执行“Debug”即可。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值