apache-kafka Flink作业在Kafka数据峰值上失败

g0czyy6m  于 2022-11-01  发布在  Apache
关注(0)|答案(1)|浏览(162)

我有一个flink作业,读取一个Kafka主题的数据,丰富数据,并将其发送到输出Kafka主题。
从我的源Kafka我得到一致的3mbs和每秒200条消息。但有时我可以得到峰值70mbs和每秒9k条消息。
当出现这样的峰值时,我的输出主题配额无法处理我发送的消息量。所以我在我的接收器上100%忙碌,这导致背压,导致检查点失败,导致作业失败。有时作业无法成功重新启动。
有没有一种方法可以让flink处理这样的数据峰值而不导致作业重启?(比如减慢从源主题的读取速度)

brccelvz

brccelvz1#

Flink会自动将反压力转发给源,并减慢读取管道容量的速度。问题不在于源没有节流,而在于在严重的反压力下,检查点屏障没有足够快地前进。
非对齐检查点和缓冲区浮动都是为了帮助解决类似的问题而设计的。详细信息请参见文档中关于反压力下的检查点的内容。(虽然非对齐检查点从Flink 1.11开始就可用,但这个特性从Flink 1.13开始效果最好。缓冲区浮动从1.14开始可用。)
您还可以考虑增加检查点超时,并且您可能希望研究自动扩展作为在峰值负载期间扩展集群的一种方法。

相关问题