Flink CDC中job cancel后,能从checkpoint 恢复吗?[阿里云实时计算 Flink版]

Flink CDC中job cancel后,能从checkpoint 恢复吗?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. Flink CDC 中的 job 在取消后,是否能从检查点恢复取决于几个因素:

    1. 是否开启了检查点:如果没有配置和开启检查点,那么无法从检查点进行恢复。

    2. 检查点策略:如果使用基于时间驱动的检查点策略(例如每隔 2 分钟保存一次),那么在取消 job 后可能会丢失最近的检查点数据。如果使用基于状态驱动的检查点策略(例如流状态大小超过 1GB 时保存一次),那么可能可以恢复到最近的检查点。

    3. 检查点目录是否被删除:如果手动删除了存储检查点的目录,那么将无法从检查点进行恢复。

    4. 检查点目录的磁盘空间:确保有足够的磁盘空间来存储检查点数据。

    综上所述:

    – 如果开启了状态驱动的检查点,并且检查点目录没有被删除,并且有足够的磁盘空间存储检查点数据,那么在取消 job 后可以通过从最新的检查点进行恢复来重新启动 job。

    – 如果仅使用时间驱动的检查点,并且在取消 job 时没有保存最后一个检查点,那么无法从检查点进行恢复。

    要实现从检查点进行恢复,需要进行以下配置:

    1. 开启检查点,并选择适当的检查点策略(状态驱动或时间驱动)。 2. 配置正确的检查点路径,并确保有足够的磁盘空间存储检查点数据。 3. 在重新启动 job 时,使用 execution.checkpointing.restore = latest 选项来指定从最新的检查点进行恢复。

    请注意,以上配置可以让 Flink CDC job 在取消后能够从最新的检查点进行恢复。

  2. 是否能从检查点恢复,取决于几个因素:
    是否开启了检查点:如果没有开启检查点,则无法从检查点恢复。
    检查点策略:如果使用时间驱动的检查点(如每2分钟保存一次),则取消后可能丢失检查点数据。如果使用状态驱动的检查点(如流状态大小超过1G保存一次),则可能保存最后一个检查点。
    是否删除了检查点目录:如果手动删除了检查点目录,则无法从检查点恢复。
    检查点目录磁盘空间:需要有足够的空间存储检查点。
    总的来说:
    如果开启了状态驱动的检查点,并且检查点目录未删除,磁盘空间足够,则在取消后,可以通过恢复检查点的方式来重启 job。
    如果只使用时间驱动的检查点,并且在取消时没有保存最后一个检查点,则无法从检查点恢复。
    要从检查点恢复,需要以下配置:
    开启检查点,使用状态驱动的检查点策略
    配置好检查点路径,保证磁盘空间足够
    任务取消后,不要手动删除检查点目录
    重启任务时,添加 execution.checkpointing.restore = latest 选项
    以上配置可以让 Flink CDC Job 能从取消后的最新检查点恢复。

  3. 配置了检查点就可以,没配置就不行,此回答整理自钉群“Flink CDC 社区”