远程调试CDH的 NameNode

演示

Posted by xuefly on July 23, 2020

服务端 NameNode

修改配置

cm上,点击NameNode-->confiration-->Java Configuration Options for NameNode 添加以下内容: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5006 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled .

S7Lx8Z

不能使用*:5006,直接address=5006,否则在启动 NameNodede 的时候报错,在 stdout/stderr 中可以看到:Java JDB: ERROR: transport error 202: gethostbyname: unknown host

重启NameNode

效果 uaaGxw

Recent Log Entries提供大量进程启动信息.其中tout可以看到当前进程的目录,/opt/cloudera/cm-5.14.0/run/cloudera-scm-agent/process/5963-hdfs-NAMENODE,里面有服务进程的配置文件.

本地 IDE

获得 CDH 源码,可参考怎么获得CDH中指定版本组件的源码?.

服务端 NameNode 启动后,在intellij中配置远程调试启动即可: fbboKu