【问题标题】:Debugging Apache Spark clustered application from Eclipse从 Eclipse 调试 Apache Spark 集群应用程序
【发布时间】:2015-06-24 10:44:18
【问题描述】:

我正在尝试在集群/分布式环境中调试在 eclipse 上运行的 Spark 应用程序,但无法成功。 应用程序是基于 java 的,我通过 Eclipse 运行它。仅通过 Java 为 Master/worker 提供 spark 的配置。

虽然我可以在驱动程序端调试代码,但随着代码流在 Spark 中移动(即调用 .map(..)),调试器不会停止。因为该代码在 Workers JVM 中运行。

我有没有办法做到这一点?

我尝试通过 Eclipse 在 Tomcat 中提供以下配置: -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=7761,suspend=n

并在 Debug->remote java application 中设置相应的端口。

但是在这些设置之后我得到了错误:Failed to connect to remote VM.Connection Refused

如果有人对此有任何解决方案,请提供帮助。

【问题讨论】:

    标签: java eclipse apache-spark distributed remote-debugging


    【解决方案1】:

    我在远程主机上配置 spark 调试时遇到了同样的问题。但在那之后,我在我的 Ubuntu 机器上安装了 spark,然后它就可以正常工作了。如果你真的想调试,我的建议是

    1- 在您的测试机器上配置 spark,然后您可以轻松调试应用程序。
    2- 使用 IntelliJ IDEA,如果我必须使用远程 spark,我已将其用于调试。

    已编辑: 如果您打算使用 IntelliJ IDEA,那么您可以按照此处的说明轻松配置远程调试。 Debugging Apache Spark Jobs

    【讨论】:

    • 我在 Windows 和 Linux(CentOS) 环境中都试过这个。但没有任何效果。您能否分享您用于远程调试的配置。就像您在哪里提供了调试远程 Spark 所需的所有配置设置以及您包含的所有 jar 包?
    • 我已经在我的 Ubuntu 机器上安装了 Hadoop 和 spark。然后调试 spark 应用程序,因为我使用 master 作为本地调试任何其他 java 或 scala 应用程序。如果我使用本地机器集群(在同一台机器上使用一个节点运行 spark 和 eclipse),则不需要配置
    • 由于项目限制,我无法使用 IntelliJ IDEA。我在同一台机器上的 Eclipse 中运行具有主节点和 3 个工作节点以及 java 应用程序的集群。
    • 您是否尝试过将master设置为本地?先试试看,不要在集群模式下运行
    • 本地模式没有任何问题。它运行良好。我可以在本地模式下以 master 作为本地调试它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多