JM中的CheckpointCoordinator协调器会向所有的source节点 触发一个Checkpoint
然后SourceTask 会在数据流中安插CheckPoint barrier
source收到barrier后 会把source中的状态保存到hdfs(持久化存储) 然后barrier向下游传递
下游的Task(任何一个算子)只要收到barrier 会把自己的状态保存到hdfs(持久化存储)
当task完成Checkpoint后会通知协调器 并且把Checkpoint地址交给协调器
谁收到barrier 就把自己状态存储到hdfs
在flink里面 最后一个算子是Sink
协调器收集齐所有task的stage handle之后
传递到sink时 就认为这一次的全局Checkpoint完成了 向hdfs中再备份一个 checkpoint meta文件 继续下一次barrier
Chandy-Lamport算法 Barrier的传递
最新推荐文章于 2022-05-19 20:46:03 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)