在需要的地方加上这个:
-Xdebug -Xrunjdwp:transport=dt_socket,address=等待的端口号,server=y,suspend=y
其中,,server=y/n,suspend=y/n
y表示sokcet等待,n表示不等待,建议全设成n
比如在hadoop脚本中:
elif [ "$COMMAND" = "jobtracker" ] ; then
CLASS=org.apache.hadoop.mapred.JobTracker
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_JOBTRACKER_OPTS"
# -Xdebug -Xrunjdwp:transport=dt_socket,address=8792,server=y,suspend=y"
这里要注意一个狗血的问题,就是在进行远程调试的时候,一定要关闭hadoop安全模式,我在配置文件里已经关了,但是hadoop又自动启动,结果导致远程调试总是有问题,害得我几天才发现咋回事。。。
hadoop dfsadmin -safemode leave !!!!!!!
另外要注意的是,当你希望使用自带的jar包或者examples 提交测试用例进行调试的时候, Jobclient的类的调试参数要加在jar 这个选项中,不要加在job client的选项中。
632

被折叠的 条评论
为什么被折叠?



