/ 允许实验性的功能:非对齐的 checkpoint,以提升性能 env.getCheckpointConfig().enableUnalignedCheckpoints(); 相关参数的文字描述: env.enableCheckpointing(60000),1 分钟触发一次 checkpoint; setCheckpointTimeout,checkpoint 超时时间,默认是 10 分钟超时,超过了超时时间就会被丢弃; setCheckpointingMode,设置 checkp...
回到最开始的AlternatingWaitingForFirstBarrierUnaligned类当保存完input buffer的数据 调用initInputsCheckpoint方法之后,来看下具体的逻辑 当触发完input数据的保存以后,就是触发全局的checkpoint了,这里会一直走到streamTask的triggerCheckpointOnBarrier在里面会走到performCheckpoint 最后在SubtaskCheckpointCoordinatorImpl类中 ...
// 两次Checkpoint的间隔为60秒 env.getCheckpointConfig.setMinPauseBetweenCheckpoints(60*1000) 默认情况下一个作业只允许1个Checkpoint执行,如果某个Checkpoint正在进行,另外一个Checkpoint被启动,新的Checkpoint需要挂起等待。 // 最多同时进行3个Checkpoint env.getCheckpointConfig.setMaxConcurrentCheckpoints(3) 如果...
Flink 1.12 版本引入的Unaligned Checkpoint和 1.14 版本中引入的Buffer Debloating主要解决了上述第 1 个问题,尤其是在反压的情况下。更早之前引入的Incremental Checkpoint是为了减少每次 Checkpointing 所需要持久化存储状态的大小,以减小第 2 个影响因素,但在实际中也不完全能做到:现有 Incremental Checkpoint 是基于 R...
关于backend配置及选择可以参考上一篇Flink详解之七--状态管理。 1.3 非对齐检查点(unaligned checkpoint) 二、Savepoint savepoint是使用检查点机制创建的,作业执行状态的全局镜像,可用于flink的停止与恢复,升级等。savepoint有两部分构成:一是在稳定存储(如:HDFS、S3等)中保存了二进制文件的目录,二是元数据文件。这些...
setAlignmentTimeout:checkpoint align超时时间。只有在启用Unaligned checkpoint时候生效。默认是0不启用。如果启用的话,checkpoint默认为aligned checkpoint,如果checkpoint启动延迟时间超过配置时间,会自动转换为unaligned checkpoint模式。 setCheckpointStorage:配置checkpoint存储。可配置文件系统路径等。
Unaligned Checkpoint是Flink 1.11 新增的功能。在Flink之前的版本,checkpoint的对齐操作会使先收到barrier的input channel后续到来的数据缓存起来,一直等到所有的input channel都接收到chechkpoint barrier并且checkpoint操作完毕后,才放开数据进入operator。这样虽然保证了exactly-once,但是显著的增加了延迟,降低了性能。如果再...
Unaligned Checkpoint在设计上与Chandy-Lamport算法保持一致,但考虑到Flink算子的输入和输出通道,快照时需要同时考虑两者状态。它取消了对屏障位置的严格要求,允许算子在屏障到达前处理数据,这在处理瓶颈算子时显著提高了屏障通过DAG的速度。尽管Unaligned Checkpoint在某些场景下能显著提升性能,但它也引入了新...
开启的要求: Checkpoint模式必须是精准一次,最大并发必须设为1 checkpointConfig.enableUnalignedCheckpoint...