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 小白一枚,如有错漏之处,敬请斧正!