FLINK Checkpoint 设置

Checkpoint周期性进行。如果checkpoint操作耗时比checkpoint间隔时间还长,在上一个checkpoint未完成的时候,即便到了下一个checkpoint触发时间,新的checkpoint操作不会立即开始。只有在前一个checkpoint完成之后下一个checkpoint才能开始。这种情况下checkpoint会一直进行下去,严重影响系统性能。

为了避免这种情况,可以在代码中指定checkpoint之间的最小时间间隔。方法如下:

StreamExecutionEnvironment.getCheckpointConfig().setMinPauseBetweenCheckpoints(milliseconds)

注意:可以在应用中通过配置CheckpointConfig,可以允许多个checkpoint过程同步执行。

除此之外,checkpoint还支持更多的配置:

// 开启Checkpoint,设置间隔时间 env.enableCheckpointing(TimeUnit.MINUTES.toMillis(10)); // 配置 Checkpoint CheckpointConfig checkpointConf = env.getCheckpointConfig(); // 启用EXACTLY_ONCE模式,使用Unaligned Checkpoint,保证数据精准一次投送,但会略微增大延迟 // 启用AT_LEAST_ONCE模式,barrier不会对齐,投送数据可能会重复,但是延迟很低 checkpointConf.setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE) // 最小间隔时间,上面已介绍过 checkpointConf.setMinPauseBetweenCheckpo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值