Flink之重启策略

avatar
作者
筋斗云
阅读量:0

目录

1、固定延迟重启策略

2、失败率重启策略

3、不重启策略


       在设置完 CheckPoint() 检查点机制后,不设置重启策略的话,,可以无限重启程序,那么设置的检查点机制也就没有什么意义了。因此,在生产实践中,当设置完检查点之后,我们要与之设置好重启策略,一般有三种策略可选。

1、固定延迟重启策略

 固定重启,最多重启三次,每次时间间隔 5s env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, Time.seconds(5)));

在新开的对应端口发送数据:nc -lk 9999

在map方法中添加测试逻辑,当输入A时,启动检查点重启策略,程序重启仍可正常运行

public Tuple2<String, Integer> map(String value) throws Exception {      if (value.equals("A")){         int p = 1/0;     }      return Tuple2.of(value,1); }

 

再次输入Java后,程序仍在运行,证明重启策略生效。

 

当输入三次A后,程序跳出,终止运行。

 

2、失败率重启策略

失败率重启,在一分钟内最多重启三次,每次间隔 2 s
env.setRestartStrategy(RestartStrategies.failureRateRestart(3,Time.minutes(1),Time.seconds(2)));

在新开的对应端口发送数据:nc -lk 9999

在控制台查看运行日志结果得知,当重启三次之后,输入Java仍可进行结果输出,当输入第四次A时候,程序跳出。

3、不重启策略

env.setRestartStrategy(RestartStrategies.noRestart());

在新开的对应端口发送数据:nc -lk 9999

在控制台查看日志信息,输入一次A程序就跳出。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!