背景
spark streaming 任務(wù)執(zhí)行過程中酿炸,driver總是不明原因掛掉萌丈,沒有任何錯(cuò)誤日志。
原因
出現(xiàn)此種情況基本上都是以下幾種原因引起
1:內(nèi)存泄漏膛堤,需要dump driver 堆棧信息翔冀,采用jvisualvm進(jìn)行分析芥炭。
2:gc問題蛹稍,例如:FULL GC的每半小時(shí)執(zhí)行一次铺纽,而不是老年代已經(jīng)滿的時(shí)候進(jìn)行g(shù)c
方案
1:針對(duì)原因1的解決方案
(1):找到driver的進(jìn)程PID卿城,driver所在的節(jié)點(diǎn) 包含*****spark_conf.properties的進(jìn)程枚钓。
(2):dump堆棧信息
jmap -J-d64 -dump:live,format=b,file=am.dump PID,此處注意執(zhí)行用戶要和啟動(dòng)該P(yáng)ID的用戶一致瑟押。
(3):采用jvisualvm【**\Java\jdk1.8.0\bin/jvisualvm.exe】進(jìn)行分析搀捷,一般對(duì)比兩個(gè)堆棧信息。
2:針對(duì)原因12的解決方案
(1):driver 配置gc:-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps
(2):觀察FULLGC的執(zhí)行頻率。
(3):driver 配置-XX:+DisableExplicitGC 參數(shù)不顯示調(diào)用GC嫩舟,采用默認(rèn)FULL GC氢烘。
參考文檔
http://www.reibang.com/p/8059766be86a](http://www.reibang.com/p/8059766be86a)
關(guān)于大數(shù)據(jù)方面技術(shù)問題可以咨詢,替你解決你的苦惱家厌。參考WX:hainanzhongjian