Flink 之容错机制相关配置

一、checkpoint 配置

  1. 获取流执行环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setParallelism(1);
  1. 启用检查点机制,并修改默认的检查点保存间隔500ms为1000ms
env.enableCheckpointing(1000L);
  1. 通过获取检查点配置进行相应的配置 env.getCheckpointConfig()
    设置检查点模式,可选项为 EXACTLY_ONCEAT_LEAST_ONCE
env.getCheckpointConfig().setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE);
  1. 设置checkpoint超时时间,超过这个时间,检查点会被丢弃
env.getCheckpointConfig().setCheckpointTimeout(60000L);
  1. 设置检查点最大并行度 setMaxConcurrentCheckpoints的值默认是 1
    • 当设置为1时,上一个检查点未完成时,即使触发了 enableCheckpointing(1000L),JobManager也不会立即启动检查点,而是等待上一个检查点保存完成,才会启动下一个检查点
    • 当设置大于1时,即允许在上一个检查点尚未完成时,触发了enableCheckpointing(1000L),JobManager会再次启动一个检查点
env.getCheckpointConfig().setMaxConcurrentCheckpoints(2);
  1. 设置两次检查点的最小的时间间隔,上次检查点保存完成时~~下次检查点刚开始时。
    (会覆盖检查点并行设置的配置:setMaxConcurrentCheckpoints())
    默认是0秒
env.getCheckpointConfig().setMinPauseBetweenCheckpoints(500L);
  1. 设置是否优先使用检查点恢复机制。默认为false,即checkpoint和savepoint之间采用就近原则,设为true,则优先使用checkpoint
env.getCheckpointConfig().setPreferCheckpointForRecovery(true);
  1. 设置可容忍的检查点失败数量,默认是0,即不允许任何checkpoint检查点失败,如果checkpoint失败则任务失败,直接重启
env.getCheckpointConfig().setTolerableCheckpointFailureNumber(0);

二、重启策略配置

  1. 设置任务重试延迟
/**
* RestartStrategies.fixedDelayRestart(3,60000L)
* 第一个参数:重试次数;
* 第二个参数:每次重试之间的时间间隔
*/
env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3,60000L));
  1. 设置重试失败率
/**
* (RestartStrategies.failureRateRestart(int failureRate, Time failureInterval, Time delayInterval))
* 第一个参数:给定的时间间隔内,作业失败前的最大重试次数
* 第二个参数:设置失败的时间间隔,提供给第一个参数
* 第三个参数:每次重试之间的时间间隔
*/

env.setRestartStrategy(RestartStrategies.failureRateRestart(5, Time.of(5, TimeUnit.MINUTES), Time.of(10, TimeUnit.SECONDS)));
  1. 重新启动策略配置,作业可以使用该配置来使用集群级别的重新启动
env.setRestartStrategy(RestartStrategies.fallBackRestart());
  1. 设置不进行重试
env.setRestartStrategy(RestartStrategies.noRestart());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Doctor_96

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值