Apache flink Flink,方法setDbStoragePath在RocksDBStateBackend中做什么?
我将flink 1.11与RocksDBStateBend一起使用,代码如下所示:Apache flink Flink,方法setDbStoragePath在RocksDBStateBackend中做什么?,apache-flink,Apache Flink,我将flink 1.11与RocksDBStateBend一起使用,代码如下所示: rocksdbstatebend statebend=新的rocksdbstatebend(“hdfs:///flink-checkpoints“,对); setDbStoragePath(config.getString(“/tmp/rocksdb/”); 环境设置状态后端(状态后端); 我的问题是: 我的理解是,当设置了DbStoragePath时,Flink将在存储到hadoophdfs:///flink
rocksdbstatebend statebend=新的rocksdbstatebend(“hdfs:///flink-checkpoints“,对);
setDbStoragePath(config.getString(“/tmp/rocksdb/”);
环境设置状态后端(状态后端);
我的问题是:
DbStoragePath
时,Flink将在存储到hadoophdfs:///flink-checkpoints
。是这样吗?如果它是正确的,我是否应该总是设置DbStoragePath
以获得更好的性能DbStoragePath
是本地磁盘上RocksDB保持其工作状态的位置。默认情况下,将使用tmp目录。理想情况下,这应该是最快的可用磁盘,例如SSD。通常,这是通过state.backend.rocksdb.localdir
配置的
如果您使用的是增量检查点,则将DbStoragePath
中的SST文件复制到状态.checkpoints.dir
。否则,完整快照将写入检查点目录,并且不涉及DbStoragePath
Flink会自动删除旧的检查点,除非在取消使用保留检查点的作业之后。如何安全地删除一个增量的、保留的检查点并不明显——您需要知道这些SST文件是否仍然引用了最新的检查点。您可以在用户邮件列表中寻求建议。谢谢!如果我没有设置取消时保留,我就不需要手动清理旧的检查点,对吗?是的,没错。