flink rocksDB配置

flink目前支持三种backend

  1. memory
  2. fs
  3. rocksdb

个人认为如果要用就用rocksdb吧,毕竟性能还是可以的,加入磁盘来存储状态可以减少oom的风险。

其实rocksdb的checkpoint的过程是走的fs backend。

rocksDB 配置

下面是默认配置文件里面的选项

# Supported backends are 'jobmanager', 'filesystem', 'rocksdb', or the
# .
#
state.backend: rocksdb

# Directory for checkpoints filesystem, when using any of the default bundled
# state backends.
#
state.checkpoints.dir: hdfs://xxxx/flink-checkpoints

# Default target directory for savepoints, optional.
#
state.savepoints.dir: hdfs://xxxx/flink-checkpoints

# Flag to enable/disable incremental checkpoints for backends that
# support incremental checkpoints (like the RocksDB state backend).
#
state.backend.incremental: true

rocksDB backend其实还有一个配置项可以控制rocksDB的磁盘存储路径,这个要写本机地址。默认是flink taskmanger的临时路径,目前个人认为默认的就行了

state.backend.rocksdb.localdir

跟checkpoint有关的所有配置项

state.backend
state.checkpoints.num-retained
state.backend.async
state.backend.incremental
state.backend.local-recovery
taskmanager.state.local.root-dirs
state.savepoints.dir
state.checkpoints.dir
state.backend.fs.memory-threshold
state.backend.rocksdb.localdir

注意
state.backend.async 默认是打开的,
而state.backend.incremental默认是关闭的,使用rocksdb记得打开它提升checkpoint性能

使用配置文件配就行了,代码里面就不用配置了,代码里面要是配置最好和配置文件里面的配置相同

你可能感兴趣的:(flink rocksDB配置)