【发布时间】:2019-04-25 20:38:51
【问题描述】:
我们每天在处理数据的过程中都会遇到一两次检查点故障。数据量很低,比如不到 10k,我们的间隔设置是“2 分钟”。 (处理速度很慢的原因是我们需要在 flink 作业结束时将数据下沉到另一个 API 端点,这需要一些时间来处理,所以时间是 Streaming data + Sink to external API endpoint)。
根本问题是: Checkpoints 在 10 分钟后超时,这是由于数据处理时间超过 10 分钟造成的,所以 checkpoint 超时。我们可能会增加并行度以加快处理速度,但是如果数据变大,我们必须再次增加并行度,所以不想使用这种方式。
建议的解决方案: 我看到有人建议在新旧检查点之间设置暂停,但我有一个问题是,如果我在那里设置暂停时间,新检查点是否会丢失暂停时间的状态?
目标: 如何避免这个问题并记录正确的状态,不会丢失任何数据?
检查点失败: enter image description here
已完成的检查点: enter image description here
子任务没有响应 enter image description here
谢谢
【问题讨论】:
-
它到底是怎么失败的?超时?
-
检查点在 10 分钟后超时,所以我看到有人建议在旧检查点和新检查点之间设置暂停,但我有一个问题是,如果我在那里设置暂停时间,新检查点会不会缺少暂停时间的状态? @TobiSH
标签: stream apache-flink checkpoint