如何在IntelliJ IDEA打开调试的情况下执行spark-submit并附加到它?

问题描述 投票:0回答:1

我有一个MapR节点集群,我有一个虚拟盒vm,安装了CentOs和MapR客户端。我使用IntelliJ开发Spark / Scala代码。我可以在我的MapR客户端上执行此行,以便从IntelliJ(远程调试)进行调试

spark-submit --driver-java-options -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 --master local[2] --class MyClass myproject-1.0-SNAPSHOT.jar

因此,在执行spark-submit之后,我需要单击IntelliJ中的调试按钮来启动所有内容。每次我想调试我的应用程序时,我都想避免在我的Mapr客户端VM上执行上面的行。所以我想知道是否可以管理IntelliJ的所有调试

你有什么主意吗?谢谢

apache-spark intellij-idea spark-submit
1个回答
1
投票

所以我想知道是否可以管理IntelliJ的所有调试

我几乎不相信。

您必须使用正确的调试选项启动spark-submit,并使用IntelliJ IDEA的Debug功能和远程调试配置使用attach连接到该进程。

我使用以下命令在启用调试选项的情况下使用JVM启动spark-shell(全部在一行上)。

SPARK_SUBMIT_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \
  ./bin/spark-shell

BTW使用--driver-java-options为驱动程序的JVM设置调试选项是一个非常巧妙的想法。谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.