【Flink】状态后端(1.13版本及大于1.13版本适用)

Flink为什么越来越受欢迎,在大数据领域计算容错很重要,Flink计算容错手段之一就是checkpoint机制,会把数据保存在CheckPoint中,数据会随着 CheckPoint 而持久化,以防止数据丢失、保障恢复时的一致性,那么CheckPoint到底保存在哪里呢?答案是状态后端中。

1.13版本及1.13版本后的新版本Flink状态后端发生一些改变

新版本的Flink状态后端为如下2种

  • HashMapStateBackend
  • EmbeddedRocksDBStateBackend

 HashMapStateBackend:(数据以 Java 对象的形式存储在堆中。 Key/value 形式的状态和窗口算子会持有一个 hash table,其中存储着状态值、触发器。适用于有较大 state,较长 window 和较大 key/value 状态的 Job)

(1)HashMapStateBackend之只放内存,等同于前面版本的MemoryStateBackend,这种情况适用于开发时使用,使用方式

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setStateBackend(new HashMapStateBackend());
env.getCheckpointConfig().setCheckpointStorage(new JobManagerCheckpointStorage());

(2ÿ

你可能感兴趣的:(Flink实战,flink,大数据,big,data)