如何将调试器附加到远程Hadoop实例

T. *_*ter 5 debugging hadoop jdb

我不是在寻找依赖println的这些所谓的" 调试 "解决方案.我的意思是将一个真正的调试器附加到正在运行的Hadoop实例,并从另一台机器上调试它.

这可能吗?怎么样?加多宝?

twi*_*wid 4

LINK上给出的很好

要调试任务跟踪器,请执行以下步骤。

  1. 编辑conf/hadoop-env.sh以包含以下内容

    导出HADOOP_TASKTRACKER_OPTS =“-Xdebug -Xrunjdwp:传输= dt_socket,地址= 5000,服务器= y,挂起= n”

  2. 启动 Hadoop(bin/start-dfs.sh 和 bin/start-mapred.sh)

  3. 它将阻止等待调试连接
  4. 使用调试配置中的 Eclipse“远程 Java 应用程序”连接到服务器并添加断点
  5. 运行 MapReduce 作业