远程调试Hadoop

在调研JobTracker等异常问题时经常需要远程debug以实现单步跟踪。相对于打印日志,远程调试更方面更快捷,信息也更全面。这里列出远程调试的基本步骤。

1、配置jvm选项启用远程debug

Hadoop的所有deamon启动都是bin/hadoop脚本实现的,该脚本最后一行会执行java命令来启动JVM进程。因此要启用远程debug,只需要修改该脚本最后一行即可。

修改前最后一行如下:

exec "$JAVA" $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"

修改之后最后一行如下:

exec "$JAVA" -Xdebug -Xrunjdwp:transport=dt_socket,address=50010,server=y,suspend=n $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"

这里新增的jvm参数为:

-Xdebug -Xrunjdwp:transport=dt_socket,address=50010,server=y,suspend=n

这些参数的含义是在端口50070启动一个server socket并通过Java Debug Wire Protocol (jdwp)传递调试信息。suspend=n表示客户端(eclipse)没有连上时不需要挂起,即没有开始调试时该进程照常运行。

需要注意的是这里的端口号一定要是空闲的且对外开放的。通常生产机器只开通了少量端口。


2、配置eclipse来远程调试

a、启动eclipse

b、点击菜单的 Go to Run -> Debug Configurations


c、在配置界面上找到Remote Java Application然后右键新建一个


d、配置远程应用的链接信息

这里主要是填好主机名及端口号。


f、最后一步点击 Apply保持配置然后点击Debug即可开始远程调试了


注意的是调试要选用Debug perspective微笑

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值