从0到1Flink的成长之路(二十)-Flink 高级特性(二)之自动重启策略和恢复

本文详细介绍了Apache Flink的自动重启策略,包括配置文件和代码中的设置方法,如默认策略、无重启策略、固定延迟重启策略以及失败率重启策略,并提供了相应的配置示例和代码演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自动重启策略和恢复

1)、重启策略配置方式
配置文件
在flink-conf.yml中可以进行配置,示例如下:

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)、重启策略分类
其一、默认重启策略
如果配置Checkpoint,没有配置重启策略,那么代码中出现了非致命错误时,程序会无限重启。
其二、无重启策略

ob直接失败,不会尝试进行重启
设置方式一:
restart-strategy: none
设置方式二:
无重启策略也可以在程序中设置
val env = ExecutionEnvironment.getExecutionEnvironment()
env.setRestartStrategy(RestartStrategies.noRestart())

其三、固定延迟重启策略(开发中使用)

设置方式一: 重启策略可以配置flink-conf.yaml的下面配置参数来启用,作为默认的重启策略: 例子:
restart-strategy: fixed-delay restart-strategy.fixed-delay.attempts: 3
restart-strategy.fixed-delay.delay: 10 s
设置方式二: 也可以在程序中设置:
val env =ExecutionEnvironment.getExecutionEnvironment()
env.setRestartStrategy(RestartStrategies.fixedDelayRestart(
3, //最多重启3次数 Time.of(10, TimeUnit.SECONDS) // 重启时间间隔 ))
上面的设置表示:如果job失败,重启3次, 每次间隔10

其四、失败率重启策略(偶尔使用)

设置方式1: 失败率重启策略可以在flink-conf.yaml中设置下面的配置参数来启用: 例子:
restart-strategy:

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值