我可以使用 cmd.exe 中的命令在 Windows 上运行 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中要添加远程调试选项:

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 

但是设置不起作用。似乎一个程序构建了要构建的实际命令。任何人都能够在其中获得正确的设置选项,因此可以在 Debug模式下运行 spark 命令,像附加任何 Java 进程一样附加到它? (局部单 Spark 模式)

请您参考如下方法:

最后两行很有帮助。

del %LAUNCHER_OUTPUT% 
%SPARK_CMD% 

所以命令被写入了一个文件。然后该文件被读取、加入并运行! Rem out the 2nd lsat line or add an echo and pause like

复制代码
echo %LAUNCHER_OUTPUT% 
pause 
REM del %LAUNCHER_OUTPUT% 
%SPARK_CMD% 

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

然后像对其他 Java 程序一样编辑读取命令以添加调试选项。然后从 Eclipse 附加到它。


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!