远程Hadoop调试——mapreduce函数调试篇

上一次记录了如何调试NN,JT,DT,JT,这次记录为调试mapreduce函数,和前几个应用不同,mapreduce为Child进程,不能直接通过bin/hadoop文件中开启远程调试端口,具体操作如下:

 

1. 选定一台调试机器,修改mapred-site.xml文件,添加如下配置:

  <property>
    <name>mapred.child.java.opts</name>
    <value>-agentlib:jdwp=transport=dt_socket,address=8883,server=y,suspend=y</value>
  </property>

 

2. 关闭所有的tasktracker,只保留上面配置的一台需要调试的tasktracker

 

3. 启动Mapreduce job

 

3. 右键hadoop src项目,右键“Debug As”,选择“Debug Configurations”,选择“Remote Java Application”,添加一个新的测试,输入远程host ip和监听端口,上例为8883,然后点击“Debug”按钮。此时应该连接到远程tasktracker child进程,并进入断点位置,可以单步调试了。

 

我的YY:在调试过程发现开启所有tasktracker,此时连接到tasktracker一下然后就断开,所以需要关闭其他tasktracker,只保留一台。

    按照上面的配置,如果抛出一个连接错误异常,再连接一下就好了。

 

-- heipark

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值