首页 > 代码库 > Spark-streaming stage夯住原因分析
Spark-streaming stage夯住原因分析
现象
任务执行中偶现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中的展示,也会影响任务状态的判断。
终其原因是:当消息队列中的消息数超过其spark.scheduler.listenerbus.eventqueue.size
设置的数量(如果没有设置,默认为10000)时,会将最新的消息移除,这些消息本来是通知任务运行状态的,由于你移除了,状态无法得到更新,所以会出现上面描述的现象
解决方式
在spark-submit中添加如下参数
--conf spark.scheduler.listenerbus.eventqueue.size=100000
来观察一下问题是否解决了
经过6个小时的试运行,没再出现夯住的现象。说明该参数的确解决了问题
Spark-streaming stage夯住原因分析
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。