更新时间:2024-11-29 GMT+08:00

恢复作业

已运行过的Flink作业开启CheckPoint功能后,支持从指定CheckPoint恢复作业,用户可以指定某个CheckPoint,从CheckPoint重新执行作业。同时Flink作业提交后也支持触发SavePoint和从指定SavePoint恢复作业,用户可以停止作业并保存SavePoint,然后选择从已经保存的SavePoint重新执行作业,恢复作业状态。

作业状态为“运行失败”、“运行成功”、“提交失败”、“停止”、“草稿”、“已保存”的作业可以删除指定CheckPoint和SavePoint。

指定CheckPoint并恢复作业

作业状态为“运行失败”、“运行成功”和“停止”的作业可以进行Checkpoint故障恢复。

  1. 确认作业已开启CheckPoint功能。

    可参考创建作业在作业开发界面,查看是否已勾选“开启CheckPoint”,未开启CheckPoint功能的作业无法指定CheckPoint恢复作业。

  2. (可选)设置CheckPoint的数量。

    登录Manager,选择“集群 > 服务 > Flink > 配置 > 全部配置”,搜索参数“state.checkpoints.num-retained”,设置CheckPoint数量,默认为“5”。

  3. 指定CheckPoint并恢复作业。

    1. 访问Flink WebUI,请参考访问Flink WebUI
    2. 单击“作业管理”进入作业管理页面。
    3. 在待恢复的作业的“操作”列,单击“更多”,展开恢复作业选项。
      • 选择历史CheckPoint恢复作业:单击该选项后将展示该作业的CheckPoint列表,数量与2中参数“state.checkpoints.num-retained”的值一致。根据界面提示选择指定CheckPoint恢复作业。
      • 从最新CheckPoint恢复作业:单击该选项后作业将从最新一次CheckPoint恢复作业。

指定SavePoint并恢复作业

  • 作业状态为“运行中”的作业可以停止作业并保存SavePoint。
  • 作业状态为“运行失败”、“运行成功”和“停止”的作业可以进行SavePoint故障恢复。
  1. (可选)设置Flink用于恢复和更新作业的保存点存储目录。

    登录Manager,选择“集群 > 服务 > Flink > 配置 > 全部配置”,搜索参数“state.backend.fs.savepointdir”,在“Flink->FlinkServer”项中该参数的值为保存点存储目录,默认为“hdfs://hacluster/flink/savepoint”。

  2. 指定SavePoint并恢复作业。

    1. 访问Flink WebUI,请参考访问Flink WebUI
    2. 单击“作业管理”进入作业管理页面。
    3. 在指定作业的“操作”列选择“更多 > 停止作业并保存SavePoint”,根据界面提示停止作业并保存作业的SavePoint。
      • 若作业已保存了历史SavePoint,支持选择历史SavePoint恢复作业,此时可不执行该步骤。
      • 单击“停止作业并保存SavePoint”后,系统会删除最新的CheckPoint,此时不支持从最新CheckPoint恢复作业,请选择历史SavePoint恢复作业。
    4. 待作业成功保存SavePoint后,在该作业的“操作”列选择“更多 > 选择历史SavePoint恢复作业”,根据界面提示恢复作业。