首页 > 解决方案 > 尽管没有处理新数据,但 Flink Checkpoint 完成时间仍在增加

问题描述

我有一份工作,其中有几个不同的状态,并且检查点配置为每 5 秒发生一次。现在它以 50 个并行度运行,每个任务槽 1 个 cpu。对于快速测试,它只消耗 60k 条记录,并在几秒钟内完成。但是我现在让这项工作运行了几个小时,因为我注意到在它运行并继续执行检查点时,完成检查点的时间从 4 秒变为 20 秒,依此类推,直到超时。

周末我有同样的工作(这个检查点超时是 5 分钟)。启动,45k 条记录基本立即处理完毕,检查点在 5 秒左右完成。然后注意到每 5 个检查点恰好一个检查点需要大约 20 秒才能完成。然后后面的4个都回到了5秒。今天再次检查,每个检查点都需要一分半钟才能完成。没有看到一致的突然时间峰值,但仍然看到一对夫妇需要 1 分 20 秒,然后两个需要 1 分 35 秒,然后回到 1:20。

这是当前的检查点配置:

在此处输入图像描述

我不知道为什么检查点完成时间不断增加。有什么想法吗?

标签: apache-flinkrocksdb

解决方案


您所描述的某些内容是正常的,因为rocksdb 有时会执行压缩,这导致某些检查点比其他检查点花费更长的时间。

即使没有数据被摄取或处理,计时器也可能导致需要检查点的状态变化。

然而,这听起来可能令人担忧。这将有助于了解工作在做什么,以及您是否启用了增量检查点。那么检查点的大小呢——它们是平稳的,还是随着时间的推移而增长,还是上下波动?

你能分享一个最小的、可重现的例子吗?


推荐阅读