【问题标题】:Savepoint in Apache Flink with Large State具有大状态的 Apache Flink 中的保存点
【发布时间】:2021-08-14 19:42:22
【问题描述】:

我想使用 Rocksdb 状态后端在 Flink 中保持大约 2TB 的状态。我将使用增量检查点,因此它将大大减少检查点时间。

但有时我必须更改代码,例如重新缩放、修复错误、添加新的过滤器/映射、添加新的源/接收器等。

所有这些都会影响作业拓扑。当状态发生任何变化时,我可以再次引导状态。但其他时候,引导状态可能很困难,因为这对我来说意味着浪费时间。

在这些情况下,我必须创建一个保存点来重新开始我的工作。我还会在作业运行时定期获取保存点,以便在作业失败时(例如每 15 分钟)从最新的保存点重新启动作业。但是由于状态大,获取保存点的时间会太长。 MTTR(平均恢复时间)对我来说非常重要。如何提高保存点性能?

【问题讨论】:

    标签: apache-flink flink-streaming


    【解决方案1】:

    您可以将保留的检查点用于不更改拓扑、需要状态迁移或升级 Flink 版本(例如,重新缩放或不影响状态的简单代码更改)的重新部署——否则您应该使用保存点。对于大型状态,这可能需要相当长的时间(而且我不知道如何加快它的速度)。

    与其尝试提​​高保存点性能,不如考虑某种蓝/绿部署策略是否适合您。例如,请参阅Zero-downtime upgrades of Flink applications

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-03
      • 1970-01-01
      • 2020-07-27
      • 1970-01-01
      • 2019-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多