一、Flink支持不同的重启策略,这些重启策略控制着job失败后如何重启。集群可以通过默认的重启策略来重启,这个默认的重启策略通常在未指定重启策略的情况下使用,而如果Job提交的时候指定了重启策略,这个重启策略就会覆盖掉集群的默认重启策略。
二、常用的重启策略
固定间隔 (Fixed delay) 对应的值:fixed-delay
失败率 (Failure rate) 对应的值:failure-rate
无重启 (No restart) 对应的值:None
默认的重启策略是通过Flink的flink-conf.yaml
来指定的,这个配置参数restart-strategy
定义了哪种策略会被采用。
如果checkpoint未启动,就会采用no restart
策略,
如果启动了checkpoint机制,但是未指定重启策略的话,就会采用fixed-delay
策略,重试Integer.MAX_VALUE
次。
每个重启策略都有自己的参数来控制它的行为,这些值也可以在flink-conf.yaml
配置文件中设置。也可以在代码中设置,覆盖全局设置。
三、固定间隔重启策略:
配置文件中配置:
restart-strategy: fixed-delay
restart-strategy.fixed-delay.attempts: 3
restart-strategy.fixed-delay.delay: 10 s