更新时间:2025-08-01 GMT+08:00
配置Flink作业重启策略
操作场景
Flink支持不同的重启策略,以在发生故障时控制是否重启以及如何重启Flink作业。根据具体的使用场景选择合适的重启策略,可以有效提高Flink作业的稳定性和可靠性,确保在故障发生时能够及时恢复,同时避免不必要的资源消耗。
重启策略包括无重启(No restart)、固定间隔(fixed-delay)和失败率(failure-rate)策略。
- 无重启(No restart):发生故障时作业会直接失败,不会尝试重启。
- 固定间隔(fixed-delay):发生故障时会尝试重启作业固定次数,如果超过了最大的尝试次数,作业最终会失败。并且在两次连续重启尝试之间,重启策略会等待固定的时间。
- 失败率(failure-rate):在作业失败后会直接重启,但超过设置的失败率后,作业会被认定为失败。在两个连续的重启尝试之间,重启策略会等待一个固定的时间。
在FlinkServer平台作业开发界面配置的重启策略优先级高,如果作业开发界面没有配置重启策略,Flink配置界面的重启策略才会生效。
如何选择重启策略
- 如果用户在作业失败后,不希望重试,则推荐使用No restart策略。
- 如果用户在作业失败后,希望对作业进行重试,推荐使用failure-rate策略。因为fixed-delay策略可能会因为网络、内存等硬件故障导致用户作业失败次数达到最大重试次数,从而导致作业失败。
在FlinkServer平台作业开发界面配置重启策略
- 使用具有FlinkServer管理员权限的用户,登录Manager界面,选择“集群 > 服务 > Flink”,在“Flink WebUI”右侧,单击链接,访问Flink的WebUI。
- 单击“作业管理”进入作业管理页面。
- 在FlinkServer作业管理界面,可参考创建FlinkServer作业选择已有作业或新建作业,进入作业开发界面。
- 在作业开发界面的“基础参数 > 故障恢复策略”下拉框中选择对应策略,并配置对应参数。
- fixed-delay:需配置“重试次数”和“失败重试间隔(s)”。
- failure-rate:需配置“最大重试次数”、“时间间隔(min)”和“失败重试间隔(s)”。
- none:无需配置其他参数。
在Flink配置界面配置重启策略
- 登录Manager界面,选择“集群 > 服务 > Flink > 配置 >全部配置”。
- 在搜索框输入“restart-strategy”,查看重启策略的配置。
- No restart策略↵
发生故障时作业会直接失败,不会尝试重启。↵
参数配置为:↵
restart-strategy: none↵
- fixed-delay策略
发生故障时会尝试重启作业固定次数,如果超过了最大的尝试次数,作业最终会失败。并且在两次连续重启尝试之间,重启策略会等待固定的时间。
以配置若重启失败了3次则认为该Job失败,重试时间间隔为10s为例,参数配置为:
restart-strategy: fixed-delay restart-strategy.fixed-delay.attempts: 3 restart-strategy.fixed-delay.delay: 10 s
- failure-rate策略
在作业失败后会直接重启,但超过设置的失败率后,作业会被认定为失败。在两个连续的重启尝试之间,重启策略会等待一个固定的时间。
以配置10分钟内若重启失败了3次则认为该作业失败,重试时间间隔为10s为例,参数配置为:
restart-strategy: failure-rate restart-strategy.failure-rate.max-failures-per-interval: 3 restart-strategy.failure-rate.failure-rate-interval: 10 min restart-strategy.failure-rate.delay: 10 s
- No restart策略↵
- 若不指定重启策略,集群会使用默认的重启策略。默认重启策略如下(fixed-delay策略):
restart-strategy: fixed-delay restart-strategy.fixed-delay.attempts: 3 restart-strategy.fixed-delay.delay: 10 s
- 若需要调整重启策略,勾选需要的重启策略,单击“保存”。选择“实例 > 勾选需要重启的实例 > 更多 > 重启实例”,实例重启成功后指定的重启策略生效。
相关文档
如果需要创建FlinkServer作业,请参见创建FlinkServer作业。
父主题: Flink运维管理