文档首页/ 数据湖探索 DLI/ 常见问题/ Flink作业类/ Flink作业性能调优类/ Flink作业重启后,如何判断是否可以从checkpoint恢复
更新时间:2024-12-10 GMT+08:00

Flink作业重启后,如何判断是否可以从checkpoint恢复

什么是从checkpoint恢复?

Flink Checkpoint 是一种容错恢复机制。这种机制保证了实时程序运行时,遇到异常或者机器问题时能够进行自我恢复。

从checkpoint恢复的原则

  • 通常当作业执行失败、资源异常重启等非人为触发的异常场景时,支持从checkpoint恢复。
  • 但是如果修改了作业的运算逻辑,作业的计算逻辑已发生更改,不支持从checkpoint恢复。

应用场景

本文列举了一些常见的从checkpoint恢复的场景供您参考,如表1所示。

更多场景可以使用从checkpoint恢复的原则结合实际情况进行判断。

表1 从checkpoint恢复的常见场景

场景

是否支持恢复

说明

调整或者增加并行数

不支持

该操作修改了作业的并行数,即修改了作业的运行逻辑。

修改Flink SQL语句、Flink Jar作业等操作

不支持

该操作修改了作业对资源的算法逻辑。

例如原有的算法的语句是执行加减运算,当前需要恢复的状态将算法的语句修改成为乘除取余的运算,是无法从checkpoint直接恢复的。

修改“静态流图”

不支持

该操作修改了作业对资源的算法逻辑。

修改“单TM所占CU数”参数

支持

对计算资源的修改并没有影响到作业算法或算子的运行逻辑。

作业运行异常或物理停电

支持

未修改作业参数和算法逻辑。