使用Java 8在Windows上debuggingspark过程

我可以使用cmd.exe中的命令在窗口上运行spark:

set CLASS=org.apache.spark.deploy.SparkSubmit %SPARK_HOME%\bin\spark-class2.cmd %CLASS% --class "com.sel2in.TstFac" --master local[4] target\scala-2.11\theApp_2.11-1.0.jar 

在spark-class2.cmd中要添加远程debugging选项:

 set JOPTS= set JOPTS=-agentlib:jdwp=transport=dt_socket,server=y,address=8001,suspend=y,timeout=30 REM set JOPTS=-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=y REM set JOPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,timeout=3,address=4002 

但设置不起作用。 看来有一个程序build立了实际的命令来build立。 任何人都能够得到正确的设置选项,所以可以在debugging模式下运行spark命令,像附加到任何Java进程? (本地单点火模式)

最后两行是有帮助的。

 del %LAUNCHER_OUTPUT% %SPARK_CMD% 

所以命令被写入一个文件。 然后,该文件被读取,加入并运行! 注意第二个lsat行或添加一个回声并暂停

 echo %LAUNCHER_OUTPUT% pause REM del %LAUNCHER_OUTPUT% %SPARK_CMD% 

要么

 del %LAUNCHER_OUTPUT% echo %SPARK_CMD% pause %SPARK_CMD% 

然后编辑读取命令来添加调试选项,就像你对其他java程序。 然后从日食附加到它。