java - Eclipse 远程调试不适用于伪分布式模式下的 hadoop

标签 java eclipse debugging hadoop remote-debugging

在独立模式下运行hadoop时,我对Eclipse的远程调试没有任何问题。但是,当我以伪分布式模式运行 hadoop 时,它不起作用。以下是我如何尝试在伪分布式模式下使用 hadoop 进行 eclipse 远程调试:

我像这样在我的 hadoop 脚本中添加一行:

#added this line to enable remote debugging
HADOOP_OPTS="$HADOOP_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5000"

# run it
exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"

然后我像这样创建一个远程调试配置:

creating a remote debugging configuration

我从命令行运行作业,它说明了它应该做什么:

Listening for transport dt_socket at address: 5000

然后我返回到 Eclipse 并运行调试配置。它像它应该的那样进入我的 main() 函数:

enter image description here

但是,它没有命中我在映射器或缩减器中设置的任何断点。

这里有什么问题?为什么它在独立模式下与 hadoop 一起工作而不是伪分布式模式?伪分布式的hadoop可以远程调试吗?如果不是,那么在 Eclipse 中调试 mapreduce 代码的“正确”方法是什么?

最佳答案

请参阅上面 Lorand 的评论。远程调试只能在独立模式下工作。

关于java - Eclipse 远程调试不适用于伪分布式模式下的 hadoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12205967/

相关文章:

java - Gradle任务assembleDebug失败,退出代码为1 ERROR?

java - 固定线程池和大量任务的线程问题

android - 在 IntelliJ IDEA 13 中导入 Eclipse Android 项目

android - 为什么我的 Android 设备在我的 Mac 上不可见?

debugging - 是否有适用于 IE6 的类似 Firebug 的工具?

android - 无法落入框架?

java - 我的第一个 Java 程序的问题

c# - C++ 扫描器(string-fu!)

java - Eclipse 错误 : This project needs to migrate WTP metadata

c - 在客户端机器上复制错误