一、问题现象
通过Spark UI查看Excutors,发现存在Excutor Dead的情况
进一步查看dead Excutor stderr日志,发现如下报错信息
WARN memory.TaskMemoryManager: Failed to allocate a page (67108864 bytes), try again
二、解决过程
打开GC日志,配置如下
--conf "spark.executor.extraJavaOptions= -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
--conf "spark.driver.extraJavaOptions= -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
打开exeutor gc日志,发现一直在full gc,几乎每秒1次,基本处于拒绝服务状态
至此找到问题原因,exeutor内存不够,调大exeutor内存即可