Spark Streaming:长队列/活动批次

Posted

技术标签:

【中文标题】Spark Streaming:长队列/活动批次【英文标题】:Spark Streaming: long queued/active batches 【发布时间】:2016-07-07 17:55:32 【问题描述】:

谁能指出这些活跃批次挂在那里数周而从未被处理的原因是什么?非常感谢。

我的猜测是executors不够,更多workers/executors会解决问题?还是 Spark 在其任务调度程序中为不同批次分配优先级?

但这里的情况是,最近的批次(6 月底)已成功处理,但 5 月的批次仍在排队。

我刚刚检查了我的 Spark 设置,调度程序策略是 FIFO

spark.scheduler.mode    FIFO

【问题讨论】:

【参考方案1】:

原来主节点是瓶颈。

主节点内存不足,可能调度器处理不够快。

解决方案:将主节点改为更强大的 EC2 实例

【讨论】:

我正在运行一个具有 1 个 VCPU 的 VM,这导致了积压【参考方案2】:

在火花提交 将 --diver-memory 和 --executor-memory 设置为适当的值 基于您的事件计数,例如 10000M

【讨论】:

以上是关于Spark Streaming:长队列/活动批次的主要内容,如果未能解决你的问题,请参考以下文章

Spark Streaming:微批处理并行执行

在 Spark Streaming 中,如何检测空批次?

spark streaming 一个批次取多少数据

Spark Structured Streaming - 新批次上的空字典

Spark Streaming 2.2.0 性能调优

Spark Streaming 2.2.0 性能调优