(第九弹)Flink——Flink之重启策略

概述

    Flink支持不同的重启策略,以在故障发生时控制作业如何重启。集群在启动时会伴随一个默认的重启策略,在没有定义具体重启策略时会使用该默认策略。

   常用的重启策略有哪些呢?

  • 固定间隔 (Fixed delay)
  • 失败率 (Failure rate)
  • 无重启 (No restart)

 1、如果没有启用 checkpointing,则使用无重启 (no restart) 策略。

       如果启用了 checkpointing,但没有配置重启策略,则使用固定间隔 (fixed-delay) 策略。

 2、重启策略可以在flink-conf.yaml中配置,表示全局的配置。也可以在应用代码中动态指定,会覆盖全局配置。

 

策略

 

1)固定间隔

全局配置

restart-strategy: fixed-delay 
restart-strategy.fixed-delay.attempts: 3 
restart-strategy.fixed-delay.delay: 10 s

应用代码

env.setRestartStrategy(RestartStrategies.fixedDelayRestart( 3,// 尝试重启的次数 
Time.of(10, TimeUnit.SECONDS) // 间隔 ));

 

2)失败率

      失败率重启策略在Job失败后会重启,但是超过失败率后,Job会最终被认定失败。在两个连续的重启尝试之间,重启策略会等待一个固定的时间。

     下面配置是5分钟内若失败了3次则认为该job失败,重试间隔为10s:

全局配置

restart-strategy: failure

你可能感兴趣的:(flink)