任务执行中偶现 stage 停止不动
但是我们点进去查看任务的时候发现,任务状态是 SUCCESSED 的
查看日志发现有 ERROR 和 WARN 报出
- 17/03/28 10:56:19 ERROR LiveListenerBus: Dropping SparkListenerEvent because no remaining room in event queue. This likely means one of the SparkListeners is too slow and cannot keep up with the rate at which tasks are being started by the scheduler.
- 17/03/28 10:56:19 WARN LiveListenerBus: Dropped 1 SparkListenerEvents since Thu Jan 01 08:00:00 CST 1970
搜了一些关于消息队列的文章,在 spark 的 jira 中也查找到了相关的 bug,确实在 2.x 版本的 spark 中存在因为 LiveListenerBus 消息队列的消息数量设置不当造成的 bug,这个 bug 会影响 webui 中的展示,也会影响任务状态的判断。
终其原因是:当消息队列中的消息数超过其
设置的数量 (如果没有设置, 默认为 10000) 时,会将最新的消息移除,这些消息本来是通知任务运行状态的,由于你移除了,状态无法得到更新,所以会出现上面描述的现象
- spark.scheduler.listenerbus.eventqueue.size
在 spark-submit 中添加如下参数
- --conf spark.scheduler.listenerbus.eventqueue.size=100000
来观察一下问题是否解决了
经过 6 个小时的试运行,没再出现夯住的现象。说明该参数的确解决了问题
来源: http://www.bubuko.com/infodetail-1999167.html