【问题标题】:How does Flink make checkpoint asynchronously with RocksDB backendFlink 如何与 RocksDB 后端异步做 checkpoint
【发布时间】:2020-05-25 09:50:16
【问题描述】:

我将 Flink 与 RocksDB 一起使用。从 Flink 的文档中,我承认 Flink 在使用 RocksDB 后端时会异步创建检查点。请参阅其文档中的说明。

可以让操作员在存储其状态快照的同时继续处理,从而有效地让状态快照在后台异步发生。为此,操作员必须能够生成一个状态对象,该状态对象应该以某种方式存储,以便对操作员状态的进一步修改不会影响该状态对象。例如,在 RocksDB 中使用的写时复制数据结构具有这种行为。

据我了解,当需要创建检查点时,操作员将为 Rocksdb 执行以下步骤:

  1. 刷新内存表中的数据
  2. 将 db 文件夹复制到另一个 tmp 文件夹中,该文件夹包含 RocksDB 中的所有数据
  3. 将复制的数据上传到远程 Fs 系统。 (这一步是异步的)

我的理解对吗?或者任何人都可以帮助说明细节?

非常感谢,因为我找不到任何描述细节的文档。

【问题讨论】:

    标签: apache-flink rocksdb checkpoint


    【解决方案1】:

    找到一个博客提到了这个过程:

    为此,Flink 会在 RocksDB 中触发刷新,强制所有 memtables 进入磁盘上的 sstables,并硬链接到本地​​临时目录中。这个过程与处理流水线是同步的,Flink 会异步执行所有后续步骤,不会阻塞处理。

    查看链接了解更多详情:Incremental Checkpoint

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多