是的,Flink 可以在自动重启时以无状态方式重启。为了实现这一点,你需要在 Flink job 的配置中设置 "restart-strategy" 为 "fixed-delay" 策略,并将 "failover-mode" 设置为 "standby"。这样,当任务失败并自动重启时,它们将无状态地启动,即不会保留任何先前运行的状态。
以下是一个简单的示例,展示了如何在 Flink job 中配置固定延迟重启策略和备用故障转移模式:
job.setRestartStrategy(RestartStrategies.fixedDelayRestart(
int restartAttempts,
long delayBetweenAttempts));
job.setFailoverStrategy(FailoverStrategies.standbyMode());
在这个配置中,restartAttempts
参数表示在任务失败后尝试重启的次数,而 delayBetweenAttempts
参数表示两次重启尝试之间的延迟(以毫秒为单位)。
是的,Flink确实支持无状态重启。你可以通过在flink-conf.yaml文件中设置restart-strategy为none来启用无状态重启策略。此外,无重启策略也可以在程序中设置。需要注意的是,无重启策略意味着如果任务失败,Job将直接失败,而不会尝试进行重启。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。