gpt4 book ai didi

apache-spark - 无法理解错误 "SparkListenerBus has already stopped! Dropping event ..."

转载 作者:行者123 更新时间:2023-12-03 20:57:24 28 4
gpt4 key购买 nike

问题

我想知道是否有人有一种神奇的方法来避免 Spark 日志中出现此类消息:

2015-08-30 19:30:44 ERROR LiveListenerBus:75 - SparkListenerBus has already
stopped! Dropping event SparkListenerExecutorMetricsUpdate(41,WrappedArray())

经过进一步调查,我了解到 LiveListenerBus扩展 AsynchronousListenerBus .因此,在某些时候, .stop()方法被调用。然后,可能发送/接收的消息将被丢弃并保持未处理状态。基本上,一些 SparkListenerExecutorMetricsUpdate不幸的是,消息还没有收到,一旦收到,它们就会被丢弃到任何地方。

这看起来并不重要,因为 SparkListenerExecutorMetricsUpdate只对应于执行者的定期更新。

令人尴尬的是,我完全不明白为什么会发生这种情况,并且没有提到这个问题。请注意,这完全是不确定的,我无法重现这一点,可能是由于异步性质和我对如何/何时 stop() 缺乏了解应该被调用。

关于运行代码

一个紧密的样本:
val sc = new SparkContext(sparkConf)
val metricsMap = Metrics.values.toSeq.map(
v => v -> sc.accumulator(0, v.toString)
).toMap
val outFiles = sc.textFile(outPaths)

并且没有其他对 sc 的引用或 SparkContent实例。

最佳答案

这张票可能是相关的。
https://issues.apache.org/jira/browse/SPARK-12009

该消息似乎表明 sparkcontext 停止后 yarn 分配失败。

抱歉,评论不清楚。

主要原因似乎是 AM 的关闭事件和 executors stop all 之间存在一些间隔。
因此,AM 尝试在执行程序停止后重新分配。

正如下面赛赛所说,

A interesting thing is that AM is shutting down at time 2015-11-26,03:05:16, but YarnAllocator still request 13 executors after 11 seconds. Looks like AM is not exited so fast, that's why YarnAllocator is still requesting new containers. Normally if AM is exited as fast as it receive disconnected message, there will be not time for container requesting for YarnAllocator.



我有时在接近完成 Spark 上下文时遇到类似的日志。
就我而言,这张票似乎是答案。

关于apache-spark - 无法理解错误 "SparkListenerBus has already stopped! Dropping event ...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32340639/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com