如何将调试器附加到远程hadoop示例

mlnl4t2r  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(338)

我不是在寻找这些依赖println的所谓“调试”解决方案。我的意思是将一个真正的调试器附加到一个正在运行的hadoop示例上,并从另一台机器上调试它。
这可能吗?怎样?jdb?

jobtbby3

jobtbby31#

一个很好的链接
要调试任务跟踪器,请执行以下步骤。
编辑conf/hadoop-env.sh以获得以下内容
导出hadoop\u tasktracker\u opts=“-xdebug”-xrunjdwp:transport=dt_socket,地址=5000,服务器=y,挂起=n“
启动hadoop(bin/start-dfs.sh和bin/start-mapred.sh)
它将阻止等待调试连接
在调试配置中使用eclipse“远程java应用程序”连接到服务器并添加断点
运行map reduce作业

knpiaxh1

knpiaxh12#

我从来没有这样做过,因为我更希望我的“真实”作业不受调试开销的影响(在某些情况下,调试开销可能会改变环境条件):我对伪示例进行“本地”调试(在eclipse中进行正常调试绝对没有问题),一旦我隔离出问题所在(例如使用计数器),就从实时环境复制特定文件。

相关问题