我有一个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的所有调试
你知道吗?感谢答案 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设置调试选项是一个非常巧妙的想法。谢谢!