Apache Flink:RocksDB后端从保存点进行的延迟加载

时间:2020-04-23 12:24:09

标签: apache-flink flink-streaming rocksdb

我们想将Apache Flink与RocksDB后端(HDFS)一起使用,以进行状态流处理。但是,我们的应用程序状态(键控状态)将达到TB级。

据我了解,当我们从保存点还原作业时,所有操作员状态数据将从HDFS上的保存点位置传送到每个任务管理器。如果状态约为TB,那么如果需要转移所有状态,那么每次部署都会导致很长的停机时间。

我想了解的是,如果是RocksDB,是否可以配置延迟加载,即在需要时从HDFS检索键状态,然后将其缓存在本地磁盘上。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您正在使用RocksDB并将Flink集群配置为使用本地恢复(可以阅读here),则RocksDB文件的副本将保留在每个任务管理器的本地磁盘上,并且恢复将几乎是即时的(除了必须旋转的任何新节点之外)。

但是,这实际上不适用于保存点,因为此机制需要增量快照才能真正正常工作。

您可能希望阅读文档的整个页面,大约是how to configure and tune applications that use large amounts of state