spark streaming流计算程序无故挂掉问题排查

问题:

executor dead的数据越来越多,导致数据处理速度变慢,最后分配的所有的executor都dead了,程序挂掉

 

日志报错:

18/05/23 17:21:30 ERROR CoarseGrainedExecutorBackend: RECEIVED SIGNAL TERM

 

解决方案:

1、增加executor的内存大小

2、加大executor通信超时时间spark.executor.heartbeatInterval(默认是10s),可调整到60s

本质都是减少GC对executor的影响。

调参后重跑成功了,gc情况如下,虽然还有数据倾斜的情况存在,但是较之前好很多,此时可以从业务代码上继续进行优化。

你可能感兴趣的:(流计算)