方法论: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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容