Flink 容错机制
checkpoints
Checkpoint
State Vs Checkpoint
State:
维护/存储的是某一个Operator的运行的状态/历史值,是维护在内存中。
一般指一个具体的Operator的状态(operator的状态表示一些算子在运行的过程中会产生的一些历史结果,如前面的maxBy底层会维护当前的最大值,也就是会维护一个keyedOperator,这个State里面存放就是maxBy这个Operator中的最大值);State数据默认保存在Java的堆内存中/TaskManage节点的内存中,State可以被记录,在失败的情况下数据还可以恢复。
Checkpoint:
某一时刻,Flink中所有的Operator的当前State的全局快照,一般存在磁盘上。
表示了一个Flink Job在一个特定时刻的一份全局状态快照,即包含了所有Operator的状态。可以理解为Checkpoint是把State数据定时持久化存储,比如FlinkKafkaConsumer算子中维护的Offset状态,当任务重新恢复的时候可以从Checkpoint中获取。 注意:
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9