【Flink】状态后端(1.13版本之前适用)

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

在flink1.13版本之前状态后端有三种

  • MemoryStateBackend    开发时使用
  • FsStateBackend     生产时使用
  • RocksDBStateBackend   生产时使用

MemoryStateBackend:(状态保存在内存中,实际上保存在Flink的JobManager中,如果不设置默认以这种方式保存,一般用作程序开发调试,不能再生产环境使用)

FsStateBackend:(将正在运行中的状态数据保存在 TaskManager 的内存中,CheckPoint 时,将状态快照写入到配置的本地文件或者HDFS中,可在生产环境中把状态后端设置为存储HDFS上防止状态丢失,适用于状态比较大,窗口比较长、key/value 状态比较大的 Job)

实际在代码中使用如下,红色的部分可为”hdfs://namenode:40010/flink/checkpoints” 或 “file:///data/flink/checkpoints”。

StreamExecutionEnvironment executionEnv

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