You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从旧外部检查点重启已取消的Apache Flink作业

如何用旧检查点恢复新JobId的Flink作业

可以用旧的外部化检查点恢复新JobId的作业,关键在于启动时显式指定检查点路径,同时保证作业拓扑兼容,以下是具体方案:

操作步骤

  • 确认旧检查点完整性:找到旧作业生成的外部化检查点目录,确保目录下存在_metadata文件(这是检查点的核心元数据文件)。检查点的存储路径可通过旧作业的配置state.checkpoints.dir或Flink Web UI的旧作业详情页获取。
  • 停止当前运行的新作业:确保待恢复的新作业已被取消,避免资源占用冲突。
  • 提交作业时指定恢复源:使用-s(或--fromSavepoint)参数启动新作业,指定旧检查点的_metadata文件路径:
    ./bin/flink run -d \
    -s /path/to/old-checkpoint-directory/_metadata \
    your-job-jar-file.jar --job-specific-arguments
    
  • 验证拓扑兼容性:新作业的算子数量、算子ID、状态定义必须与生成旧检查点时的作业完全一致。如果拓扑有修改,需要先调整状态迁移逻辑,否则恢复会失败。

常见问题说明

  • 默认重启不恢复旧检查点的原因:Flink默认只关联当前JobId的检查点,新作业JobId不同,无法自动识别旧JobId的检查点,必须显式指定路径。
  • 检查点路径错误的解决:如果指定路径后报错,先检查路径是否正确、文件系统权限是否足够、_metadata文件是否未损坏。

内容的提问来源于stack exchange,提问作者Gopal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 17:47:05