Flink CDC中job cancel后,能从checkpoint 恢复吗?
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分钟保存一次),则取消后可能丢失检查点数据。如果使用状态驱动的检查点(如流状态大小超过1G保存一次),则可能保存最后一个检查点。
是否删除了检查点目录:如果手动删除了检查点目录,则无法从检查点恢复。
检查点目录磁盘空间:需要有足够的空间存储检查点。
总的来说:
如果开启了状态驱动的检查点,并且检查点目录未删除,磁盘空间足够,则在取消后,可以通过恢复检查点的方式来重启 job。
如果只使用时间驱动的检查点,并且在取消时没有保存最后一个检查点,则无法从检查点恢复。
要从检查点恢复,需要以下配置:
开启检查点,使用状态驱动的检查点策略
配置好检查点路径,保证磁盘空间足够
任务取消后,不要手动删除检查点目录
重启任务时,添加 execution.checkpointing.restore = latest 选项
以上配置可以让 Flink CDC Job 能从取消后的最新检查点恢复。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。