Flink这个参数的 开启 等同于 stop with savepoints 吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在阿里云实时计算 Flink 版中,stop with savepoint
是一种明确的作业停止策略,而参数的开启与否并不直接等同于 stop with savepoint
的行为。以下是详细说明:
stop with savepoint
的定义stop with savepoint
是 Flink 提供的一种作业停止策略,用于在停止作业的同时生成一个保存点(Savepoint)。保存点是 Flink 作业状态的一个快照,可以用于后续恢复作业。
- 触发方式:通过设置 stopStrategy
参数为 STOP_WITH_SAVEPOINT
来实现。 - 作用:确保在作业停止时,能够保留当前的状态,以便后续从该状态恢复。
stop with savepoint
的区别参数的开启通常指的是某些配置项(如 sink.savepoint.auto-tag
或其他高级配置)的启用,这些参数的作用可能与保存点相关,但并不等同于直接执行 stop with savepoint
操作: - sink.savepoint.auto-tag
参数:当该参数设置为 true
时,会在触发保存点的同时自动创建一个 Tag,用于长期保留某个快照的状态。这与 stop with savepoint
的行为不同,因为它的主要目的是为保存点创建一个持久化的标记,而不是直接停止作业。 - 其他参数:例如 state.backend.gemini.file.cache.type
等存算分离配置,虽然会影响保存点的存储方式,但它们并不直接控制是否在停止作业时生成保存点。
stop with savepoint
要实现 stop with savepoint
,需要显式地指定停止策略为 STOP_WITH_SAVEPOINT
。以下是一个示例: - Java SDK 示例:
StopJobResponse response = client.stopJob(
"workspaceId",
"namespace",
"jobId",
"STOP_WITH_SAVEPOINT"
);
await client.stop_job_with_options_async(
"workspaceId",
"namespace",
"jobId",
"STOP_WITH_SAVEPOINT"
)
sink.savepoint.auto-tag
)仅影响保存点的附加功能(如自动创建 Tag),并不能替代 STOP_WITH_SAVEPOINT
的停止策略。stopStrategy
设置为 STOP_WITH_SAVEPOINT
。参数的开启(如 sink.savepoint.auto-tag
)与 stop with savepoint
并不等同。前者是对保存点功能的增强,后者是一种明确的作业停止策略。如果需要在停止作业时生成保存点,请务必使用 STOP_WITH_SAVEPOINT
策略。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。