Spark源码Debug
目录
其实很简单,idea已给大家集成好了,原理就是spark源码与demo同时运行在一个jvm内切监听了相同的端口
1、git clone一下源码确保编译完成,没准备好的可以去看我另一篇文章build spark源码build spark code
2、在源码idea内添加如下内容
添加如下参数
-agentlib:jdwp=transport=dt_socket,server=n,address=localhost:5005,suspend=y,onthrow=,onuncaught=<y/n>
3、自己写一个小demo(新建工程)
如下所示添加VM options
-agentlib:jdwp=transport=dt_socket,server=n,address=192.168.8.91:5005,suspend=y
4、在spark源码idea你想看到的地方打上断点,然后点击
再去运行你的demo就ok拉!在spark源码idea内就出现了你断点的内容!
5、远端服务器debug(本地idea)
①、在服务器上执行如下命令:
spark-shell --driver-java-options “-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=10800”
将spark放在了jvm中同时提供了外部所能够访问的端口10800
②、在idea中设置Remote JVM Debug(本地spark版本需要和服务器spark一致)
③、idea中点击那个debug虫子,此时就链接上了服务器的spark
此时服务器的反应是
在idea中设置断点,在spark-shell中执行相应的语句,尽可以进行源码debug了