Checkpoints

Flink通过分布式快照提供Checkpoints容错机制,保证数据一致性。检查点默认关闭,可通过配置开启并指定时间间隔。支持exactly-once和at-least-once语义。超时时间、最小间隔和并行检查点数量都是关键参数。外部检查点可持久化状态,错误时的任务处理策略亦可配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

检查点机制

Fink中基于异步轻量级的分布式快照技术提供了Checkpoints容错机制,分布式快照可以将同一时间点Task/Operator的状态数据全局统一快照处理。
Flink会在输入的数据集上间歇性地生成checkpoint barrier,通过barrier将间隔时间段内的数据划分到相应的checkpoint中,当应用出现异常时,Operator就能够从上一次快照中恢复所有算子之前的状态,从而保证一致性。
对于状态占用空间较小的应用,快照产生过程非常轻量,高频率创建且对flink任务性能影响相对较小。checkpoint过程中状态数据一般被保存在一个可配置的环境中,通常在JobManager节点或者hdfs上
检查点默认是不开启的

checkpoint开启和时间间隔指定

checkpoint开启和时间间隔指定(根据实际情况选择,状态较大,建议适当增加n的值)

env.enableCheckpointing(1000);

exactly-once和at-least-once语义的选择

默认是使用exactly-ance
exactly-ance:保证整个应用内端到端的数据一致性,这种适合数据要求较高,不允许出现丢数据或者数据重复,同时这种情况flink的性能也相对较弱
at-least-once:适合于延时和吞吐量非常高但对数据的一致性要求不高的场景。

env.getCheckpointConfig().setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE);

Checkpoint超时时间

超时时间指定了checkpoint执行过程中的上限时间范围,一但checkpoint执行时间超过阈值,f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值