远程调试hadoop-yarn需要三步走即可:
1,已debug模式启动hadoop-yarn集群,比如想要eclipse debug跟踪resourcemanager,在hadoop安装目录下找到
$hadoop_home/etc/hadoop/yarn-env.sh文件
添加如下一句话
YARN_RESOURCEMANAGER_OPTS="$YARN_RESOURCEMANAGER_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8111"
注:各个参数含义
-Xdebug 启用调试特性 -Xrunjdwp 启用JDWP实现,包含若干子选项: transport=dt_socket JPDA front-end和back-end之间的传输方法。dt_socket表示使用套接字传输。 address=8111 JVM在8111端口上监听请求,这个设定为一个不冲突的端口即可。 server=y y表示启动的JVM是被调试者。如果为n,则表示启动的JVM是调试器。 suspend=y y表示启动的JVM会暂停等待,直到调试器连接上才继续执行。suspend=n,则JVM不会暂停等待。 或者在$hadoop_home/bin/yarn脚本中的,如下脚本找到
代码,添加对应的变量也同样可以:"$COMMAND" = "resourcemanager"
fi
echo $CLASSPATH
exit
e