方法论:Spark Streaming Driver不明原因挂掉

背景

spark streaming 任务执行过程中,driver总是不明原因挂掉,没有任何错误日志。

原因

出现此种情况基本上都是以下几种原因引起
1:内存泄漏,需要dump driver 堆栈信息,采用jvisualvm进行分析。
2:gc问题,例如:FULL GC的每半小时执行一次,而不是老年代已经满的时候进行gc

方案

1:针对原因1的解决方案
(1):找到driver的进程PID,driver所在的节点 包含*****spark_conf.properties的进程。
(2):dump堆栈信息
jmap -J-d64 -dump:live,format=b,file=am.dump PID,此处注意执行用户要和启动该PID的用户一致。
(3):采用jvisualvm【**\Java\jdk1.8.0\bin/jvisualvm.exe】进行分析,一般对比两个堆栈信息。
2:针对原因12的解决方案
(1):driver 配置gc:-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps
(2):观察FULLGC的执行频率。
(3):driver 配置-XX:+DisableExplicitGC 参数不显示调用GC,采用默认FULL GC。

参考文档

https://www.jianshu.com/p/8059766be86a](https://www.jianshu.com/p/8059766be86a)

关于大数据方面技术问题可以咨询,替你解决你的苦恼。参考WX:hainanzhongjian

你可能感兴趣的:(方法论:Spark Streaming Driver不明原因挂掉)