栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Flink 1.13 StateBackend 与 CheckpointStorage 拆分

Flink 1.13 StateBackend 与 CheckpointStorage 拆分

1. 目标

Apache Flink 的持久化对许多用户来说都是一个谜。用户最常见反复提问的问题就是不理解 State、StateBackend 以及快照之间的关系。通过学习可以解答我们的一些困惑,但是这个问题如此常见,我们认为 Flink 的用户 API 应该设计的更友好一些。在过去几年中,我们经常会听到如下误解:

我们使用 RocksDB 是因为我们不需要容错。 我们不使用 RocksDB 是因为我们不想管理外部数据库。 RocksDB 可以直接读写 S3 或者 HDFS(相对于本地磁盘) FsStateBackend 会溢写到磁盘,并且与本地文件系统有关系 将 RocksDB 指向网络附加存储,认为 StateBackend 需要容错

邮件列表中的很多问题非常能代表用户在哪里遇到问题,关键是其中许多问题都不是来自新用户!当前的 StateBackend 抽象对于我们许多用户来说太复杂了。所有这些问题的共同点就是误解了数据如何在 TM 上本地存储状态与 Checkpoint 如何持久化状态之间的关系。本文的目的就是介绍 StateBackend 与 Checkpoint 持久化剥离的原因、怎么剥离以及用户怎么迁移。

2. 现状

在 Flink 1.13 版本之前,StateBackend 有两个功能:

提供状态的访问、查询; 如果开启了 Checkpoint,会周期性的向远程持久化存储上传数据和返回元数据给 JobManager。

以上两个功能是混在一起的,即把状态存储(如何在 TM 上本地存储和访问状态)和 Checkpoint 持久化(Checkpoint 如何持久化状态)笼统的混在一起,导致初学者对此感觉很混乱࿰

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/746363.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号