从 Eclipse 调试 Apache Spark 集群应用程序
Debugging Apache Spark clustered application from Eclipse
我正在尝试在 clustered/distributed 环境中的 Eclipse 上调试 Spark 应用程序 运行 但无法成功。
应用程序基于 java,我通过 Eclipse 运行 使用它。 Master/worker 的配置仅通过 Java 提供。
虽然我可以在驱动程序端调试代码,但随着代码流在 Spark 中移动(即调用 .map(..)
),调试器不会停止。因为该代码在 Workers JVM 中是 运行。
有什么办法可以实现吗?
我尝试通过 Eclipse 在 Tomcat 中提供以下配置:
-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=7761,suspend=n
并在 Debug->remote java 应用程序中设置相应的端口。
但是在这些设置之后我得到了错误:Failed to connect to remote VM.
Connection Refused
如果有人对此有任何解决方案,请提供帮助。
我在远程主机上配置 spark 调试时遇到了同样的问题。但在那之后我在我的 Ubuntu 机器上安装了 spark 然后它工作正常。如果你真的想调试,我的建议是
1- configure spark on your testing machine then you can easily debug applications.
2- use IntelliJ IDEA, I've used it for for debugging if I've to use remote spark.
已编辑:
如果您打算使用 IntelliJ IDEA,那么您可以按照此处的说明轻松配置远程调试。 Debugging Apache Spark Jobs
我正在尝试在 clustered/distributed 环境中的 Eclipse 上调试 Spark 应用程序 运行 但无法成功。 应用程序基于 java,我通过 Eclipse 运行 使用它。 Master/worker 的配置仅通过 Java 提供。
虽然我可以在驱动程序端调试代码,但随着代码流在 Spark 中移动(即调用 .map(..)
),调试器不会停止。因为该代码在 Workers JVM 中是 运行。
有什么办法可以实现吗?
我尝试通过 Eclipse 在 Tomcat 中提供以下配置:
-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=7761,suspend=n
并在 Debug->remote java 应用程序中设置相应的端口。
但是在这些设置之后我得到了错误:Failed to connect to remote VM.
Connection Refused
如果有人对此有任何解决方案,请提供帮助。
我在远程主机上配置 spark 调试时遇到了同样的问题。但在那之后我在我的 Ubuntu 机器上安装了 spark 然后它工作正常。如果你真的想调试,我的建议是
1- configure spark on your testing machine then you can easily debug applications.
2- use IntelliJ IDEA, I've used it for for debugging if I've to use remote spark.
已编辑: 如果您打算使用 IntelliJ IDEA,那么您可以按照此处的说明轻松配置远程调试。 Debugging Apache Spark Jobs