Flink Job 重启策略
flink 提供多种重启策略,可以在 flink-conf.yaml 中通过配置 restart-strategy 参数设置默认使用的重启策略,也可以在 job 中指定重启策略。
flink 提供如下重启策略
“1. 固定延时重启(Fixed delay)
- 故障率重启(Failure rate)
- 不重启(No restart)
当 job 没有开启 checkpoint 的时候,一定是使用 不重启 策略,如果 job 开启了 checkpoint 但是没有设置重启策略的时候,将使用 固定延时重启策略
固定延时重启(Fixed delay)
job 发生故障后,尝试重启 n 次,每次重启间隔固定时间 t,n 次之后失败。
“1. 在 flink-conf.yaml 中设置重启策略
1 | restart-strategy: fixed-delay |
job中直接指定重启策略
1 | ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); |
故障率重启(Failure rate)
故障率重启策略在 job 发生故障后尝试重启,但是当在固定时间failure rate interval 内故障次数超过 failure rate 次后,job 被认定为故障。
举例说明:job 故障停止运行之后,在 5min 内重试 3次,每次间隔10s,如果3次之后依旧失败,则认定为故障
“1. 在 flink-conf.yaml 中设置重启策略
1 | restart-strategy: failure-rate |
job中直接指定重启策略
1 | ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); |
不重启策略(No Restart)
“1. 在 flink-conf.yaml 中设置重启策略
1 | restart-strategy: none |
job中直接指定重启策略
1 | ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); |
参考文档
https://ci.apache.org/projects/flink/flink-docs-stable/dev/restart_strategies.html
本人 flink 小白一枚,如有错漏之处,敬请斧正!