【Flink 使用注意】关于Checkpoint的tolerableCheckpointFailureNumber的使用

我们在使用checkpoint时,会遇到这样一个参数设置:

env.getCheckpointConfig().setTolerableCheckpointFailureNumber(1);

tolerableCheckpointFailureNumber 限制的是最大可容忍的连续失败checkpoint计数 continuousFailureCounter 参考链接[1],例如将tolerableCheckpointFailureNumber 设置成3,连续失败3次,continuousFailureCounter 会累计到3,作业就会尝试重启。
如果中间有一个checkpoint成功了,continuousFailureCounter 就会重置为零,参考 [2]。

checkpoint失败后,如果作业没有发生failover,下一次checkpoint还是周期性的触发,并受 execution.checkpointing.min-pause,参考 [3] 等参数的影响。

[1] https://github.com/apache/flink/blob/4f5747fa0f7226c780742a4549408a38bc95d052/flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/CheckpointFailureManager.java#L51

[2] https://github.com/apache/flink/blob/4f5747fa0f7226c780742a4549408a38bc95d052/flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/CheckpointFailureManager.java#L161-L171

[3] https://ci.apache.org/projects/flink/flink-docs-release-1.12/deployment/config.html#execution-checkpointing-min-pause

上一篇:深度树匹配模型(TDM)


下一篇:Flink和Spark的不同