开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

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

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

展开
收起
真的很搞笑 2023-07-02 16:49:58 343 0
3 条回答
写回答
取消 提交回答
  • Flink CDC 中的 job 在取消后,是否能从检查点恢复取决于几个因素:

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

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

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

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

    综上所述:

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

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

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

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

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

    2023-07-30 12:56:16
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

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

    2023-07-30 10:50:24
    赞同 展开评论 打赏
  • 配置了检查点就可以,没配置就不行,此回答整理自钉群“Flink CDC 社区”

    2023-07-02 17:05:29
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 热门讨论

    热门文章

    相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载