phpcms 外贸网站模板,双语网站怎么做,深圳市住建局工程交易服务网,网站做网络营销Flink非对齐checkpoint原理#xff08;Flink Unaligned Checkpoint#xff09;
为什么提出Unaligned Checkpoint#xff08;UC#xff09;#xff1f;
因为反压严重时会导致Checkpoint失败#xff0c;可能导致如下问题
恢复时间长-服务效率低非幂等和非事务会导致数据…Flink非对齐checkpoint原理Flink Unaligned Checkpoint
为什么提出Unaligned CheckpointUC
因为反压严重时会导致Checkpoint失败可能导致如下问题
恢复时间长-服务效率低非幂等和非事务会导致数据重复持续反压导致任务加入死循环可能导致数据丢失例如超过kafka的过期时间无法重置offset
UC的原理
UC有两个阶段UC主要是快速超越buffer data 第一阶段UC同步阶段任意一个barrier加入缓冲区即开始UCbarrier 直接超越所有input和outputBuffer算子暂停处理数据 barrier超越对buffer进行引用调用算子snapshot state引用state 第二阶段异步阶段等待所有input channel的barrier都到达 写算子的state同步阶段引用的state同步阶段引用的inputoutput buffer写其它inputChannel Barrier之前的buffer如下图中蓝色f和G汇报给jobmanager
UC已进行的优化
Task原理
Task处理逻辑如下线程可能卡在结果输出影响UC 优化一
优化判断有空闲output buffer再处理数据 需要多个buffer时还是会卡住比如flatmap操作
优化二
优化使用OverDraft Buffer透支Buffer一旦透支buffer则不能处理数据1.16已有透支Buffer功能 其它优化
优化Legacy SourceLegacy Source 是 Flink 中的一种数据源它是在 Flink 1.0 版本中引入的并在后续版本中被视为过时的来源兼容UC 小结
等待空闲Buffer引入透支overdraft Buffer解决卡顿问题Legacy source兼容等待空闲Buffer逻辑
UC风险
序列化不兼容无法重启算子连接变化UC无法恢复Data Buffer会写大量小文件导致DataNode压力过大 使用Task共享文件execution.checkpointing.channel-state.number-of-tasks-share-file 会出现死锁或内存泄漏
UCAC对比 优化在AC超时自动切换到UC1.11版本开始
配置方法1.11以后版本
execution.checkpointing.aligned-checkpoint.timeout: 10m
execution.checkpointing.unaligned-checkpoint.enabled: true参考文档
https://www.bilibili.com/video/BV1tR4y1y7gQ/?spm_id_from…search-card.all.clickvd_sourcea52a4a5afaf8d47cb48d828c7e22e5f1