Flink保存点一般存在哪里?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
Flink保存点(Savepoint)的存储位置主要取决于配置和使用的存储系统。以下是详细的说明:
Flink保存点通常存储在分布式文件系统中,例如阿里云OSS(对象存储服务)。具体的存储路径可以通过savepointLocation
参数查看或配置。
- 示例路径:https://oss/bucket/flink/flink-jobs/namespaces/vvp-team/deployments/5a19a71b-1c42-4f34-94fd-86cf60782c81/checkpoints/sp-3285
。
在存算分离模式下,保存点的存储位置可能会根据配置动态调整: - 本地存储优先:当state.backend.gemini.file.cache.type
设置为LIMITED
时,状态数据首先存储在本地磁盘。如果本地磁盘空间不足(低于state.backend.gemini.file.cache.preserved-space
配置的阈值,默认为2 GB),数据会被转移到分布式文件系统(DFS)中。 - 直接存储到DFS:如果state.backend.gemini.file.cache.type
设置为INFINITE
,则状态数据仅存储在本地磁盘,不会转移到DFS。
当使用OSS作为分布式文件系统时,需要注意以下问题: - OSS Client SDK会先将文件完整写入本地磁盘,然后再上传到OSS。这可能导致本地磁盘空间被大量占用,尤其是在创建大体积的未压缩文件时。 - 解决方法:通过增加并发数量等方式减少单节点的状态大小,从而缓解本地磁盘压力。
为了确保保存点的长期可用性,可以结合Paimon的Tag功能: - 在触发保存点的同时,自动创建对应的Tag(格式为savepoint-${savepointID}
)。 - Tag能够长期保留某个快照的状态,避免因快照过期清理导致无法恢复作业的问题。
用户可以在创建保存点时手动指定存储路径。例如,在停止作业时选择“停止前创建一次快照”,系统会将保存点存储到指定位置。
通过以上配置和注意事项,您可以灵活管理Flink保存点的存储位置,并确保其在业务恢复和状态管理中的可靠性。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。