apache-flink - 尽管没有处理新数据,但 Flink Checkpoint 完成时间仍在增加
问题描述
我有一份工作,其中有几个不同的状态,并且检查点配置为每 5 秒发生一次。现在它以 50 个并行度运行,每个任务槽 1 个 cpu。对于快速测试,它只消耗 60k 条记录,并在几秒钟内完成。但是我现在让这项工作运行了几个小时,因为我注意到在它运行并继续执行检查点时,完成检查点的时间从 4 秒变为 20 秒,依此类推,直到超时。
周末我有同样的工作(这个检查点超时是 5 分钟)。启动,45k 条记录基本立即处理完毕,检查点在 5 秒左右完成。然后注意到每 5 个检查点恰好一个检查点需要大约 20 秒才能完成。然后后面的4个都回到了5秒。今天再次检查,每个检查点都需要一分半钟才能完成。没有看到一致的突然时间峰值,但仍然看到一对夫妇需要 1 分 20 秒,然后两个需要 1 分 35 秒,然后回到 1:20。
这是当前的检查点配置:
我不知道为什么检查点完成时间不断增加。有什么想法吗?
解决方案
您所描述的某些内容是正常的,因为rocksdb 有时会执行压缩,这导致某些检查点比其他检查点花费更长的时间。
即使没有数据被摄取或处理,计时器也可能导致需要检查点的状态变化。
然而,这听起来可能令人担忧。这将有助于了解工作在做什么,以及您是否启用了增量检查点。那么检查点的大小呢——它们是平稳的,还是随着时间的推移而增长,还是上下波动?
你能分享一个最小的、可重现的例子吗?
推荐阅读
- ios - 如何将 AVAsset 转换为 CMSampleBuffer 帧?
- javascript - 如何在条形图js的标题内添加切换
- python - Python 3 中的 ModuleNotFound seaborn
- python-3.x - 我想从列表中的函数中偷运一个整数而不更改其元素或增加内存使用量
- mysql - Sequelize 如何在查询中格式化 sequelize.literal('CURRENT_TIMESTAMP')?
- django - 更新 django 表单而不提示用户输入他们的 ID
- wordpress - WordPress wpbakery 默认情况下,帖子中的链接会打开一个非活动选项卡列表
- c++ - 如果我创建两个 std::thread,如何确定哪个线程先结束
- r - 从 XML 文件中提取数据 - R
- javascript - React Native 样式和 Flex——使组件居中