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

时间:2017-07-13 13:36:15

标签: apache-spark intellij-idea spark-submit

我有一个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的所有调试

你知道吗?感谢

1 个答案:

答案 0 :(得分:1)

  

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

我几乎不相信。

您必须使用正确的调试选项启动spark-shell并使用IntelliJ IDEA的调试功能和远程调试配置使用附加到该过程。

我使用以下命令在启用了调试选项的JVM上启动SPARK_SUBMIT_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \ ./bin/spark-shell (所有这些都在一行上)。

--driver-java-options

BTW使用<Button x:Name="btnInfo" HorizontalAlignment="Left" Margin="10,233,0,0" VerticalAlignment="Top" Width="22" Height="22" Cursor="Hand" Click="buttonInfo_Click" Style="{DynamicResource ButtonSmall}"> <Image Source="Resources/Images/info.png" Width="5" Height="10" Stretch="Uniform" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="1,0,0,0"/> </Button> 为驱动程序的JVM设置调试选项是一个非常巧妙的想法。谢谢!