如何在从 IntelliJ IDEA 打开调试的情况下执行 spark-submit 并附加到它?
How to execute spark-submit with debugging turned on from IntelliJ IDEA and attach to it?
我有一个 MapR 节点集群,我有一个安装了 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
管理所有调试
你有什么想法吗?谢谢
So I wonder if it is possible to manage all the debug from IntelliJ
我很难相信。
您必须使用正确的调试选项启动 spark-submit
,并使用带有 Remote[=25= 的 IntelliJ IDEA 的 Debug 功能附加到该进程]调试配置。
我使用以下命令启动 spark-shell
并打开调试选项的 JVM(全部在一行中)。
SPARK_SUBMIT_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \
./bin/spark-shell
顺便说一句,使用 --driver-java-options
为驱动程序的 JVM 设置调试选项是一个非常好的主意。谢谢!
我有一个 MapR 节点集群,我有一个安装了 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
管理所有调试你有什么想法吗?谢谢
So I wonder if it is possible to manage all the debug from IntelliJ
我很难相信。
您必须使用正确的调试选项启动 spark-submit
,并使用带有 Remote[=25= 的 IntelliJ IDEA 的 Debug 功能附加到该进程]调试配置。
我使用以下命令启动 spark-shell
并打开调试选项的 JVM(全部在一行中)。
SPARK_SUBMIT_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \
./bin/spark-shell
顺便说一句,使用 --driver-java-options
为驱动程序的 JVM 设置调试选项是一个非常好的主意。谢谢!