大数据计算引擎之Flink的重启策略

原文地址:大数据计算引擎之Flink的重启策略

  • Flink 支持不同的重启策略,可以在我们的Flink的Job发生故障的时候控制作业的重启机制。
  • 集群在启动时会伴随一个默认的重启策略,在没有定义的具体的重启策略时会使用该默认策略。
  • 重启策略分为全局配置和当前应用程序配置

重启策略的配置

全局配置

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

配置在5分钟内若失败3次则认定作业失败,重试间隔为10s

restart-strategy: failure-rate  
	restart-strategy.failure-rate.max-failures-per-interval: 3  
	restart-strategy.failure-rate.failure-rate-interval: 5 min  
	restart-strategy.failure-rate.delay: 10 s

当前应用程序配置

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

配置在5分钟内若失败3次则认定作业失败,重试间隔为10s

   env.setRestartStrategy(RestartStrategies.failureRateRestart(  
       	3,//一个时间段内的最大失败次数  
		Time.of(5, TimeUnit.MINUTES), // 衡量失败次数的是时间段  
       	Time.of(10, TimeUnit.SECONDS) // 间隔  
   ));

实际代码的演示

        //获取flink的运行环境
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        // 每隔 1000 ms进行启动一个检查点【设置checkpoint的周期】
		// 这个只对流有效
        env.enableCheckpointing(1000);
        // 间隔10秒 重启3次
        env.setRestartStrategy(RestartStrategies.fixedDelayRestart(
            3,
            Time.seconds(10)
        ));
        //5分钟内若失败了3次则认为该job失败,重试间隔为10s
	    env.setRestartStrategy(RestartStrategies.failureRateRestart(
            3,
            Time.of(5,TimeUnit.MINUTES),
            Time.of(10,TimeUnit.SECONDS)
        ));
        //不重试
        env.setRestartStrategy(RestartStrategies.noRestart());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值