Spark [流式传输]未安排作业

时间:2018-11-29 06:33:26

标签: apache-spark apache-kafka

我有一个Spark Streaming应用程序,该应用程序使用来自多个Kafka主题的数据,清理数据并将其推送到多个Kafka主题(具有12个分区)和HBase。批处理间隔为1秒。正在为每个Kafka主题创建一个Dstream,然后将其合并以形成一个Dstream。无需执行复杂的操作或汇总,所有逻辑都涉及DStream上的一堆maps和最后一个foreachRDD来触发action

我的问题是,在大约300批处理之后,Spark Master暂停了,并且在几分钟内没有安排任何作业。基本上,不是每隔1秒钟(批处理间隔)就调度作业,Spark只需几分钟就可以为每批调度作业。即使刷新几次,也不会在Spark UI中显示任何新作业。

乍一看,我认为Spark UI可能不会以如此之高的速度进行更新,但是观察下游系统可以确认Spark作业尚未执行。在每个排定的批次中,所有任务和阶段均在1秒的批次间隔内完成,并且没有任何排队。

集群的详细信息

火花簇

Spark版本-2.2.0
Clustermanager-Spark独立版
节点-3个节点,每个节点具有16个物理核心和128 GB RAM
工作者-每个节点上有4个工作者,每个工作者具有3个内核和5 GB RAM

Kafka群集

与3个代理在同一环境中运行
Kafka版本-0.10.0
主题数-6
复制因子-3
分区-每个主题1个(以保持spark中的处理顺序)

如果有人可以阐明这是Spark 2.2的问题,那将是很棒的,因为相同的代码可以正常工作,而在spark 1.6.2集群中没有任何调度延迟。

0 个答案:

没有答案