(一)jvm启动时,增加远程调试的启动参数。
set JAVA_OPTS=%JAVA_OPTS% -Xdebug -
Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
(二)使用脚本配置 hadoop的远程调试
1、配置ResourceManager程序的JVM远程调试
a.创建 enable_yarn_rd.sh
export YARN_RESOURCEMANAGER_OPTS =
"-agentlib:jdwp=transport=dt_socket,
server=y,suspend=y,address=8000"
b.禁用 disable_yarn_rd.sh
export YARN_RESOURCEMANAGER_OPTS =
2、配置NameNode程序的JVM远程调试
a.创建 enable_dfs_rd.sh
export $HADOOP_CLIENT_OPTS=
"-agentlib:jdwp=transport=dt_socket,
server=y,suspend=y,address=8000"
b.禁用 disable_dfs_rd.sh
export HADOOP_CLIENT_OPTS=
3.启用与禁用远程调试
(1)在启动 start-yarn.sh前
执行 ./enable_yarn_rd.sh
source enable_yarn_rd.sh
开启 远程调试
(2)在启动 start-yarn.sh前
执行 ./disable_yarn_rd.sh
source disable_yarn_rd.sh
关闭 远程调试
注: hadoop 3.x 启动脚本变化很大 没有测试是否可用,有兴趣的可以自己试一下。