Flink在大规模状态数据集下的checkpoint调优

本文介绍了Flink在处理大规模状态数据集时的Checkpoint调优,包括衡量Checkpoint性能的指标,设置相邻Checkpoint的间隔时间,选择高效的外部State存储,调整Checkpoint的资源分配,以及探讨Task本地性恢复策略,以实现更高效的恢复和避免系统因频繁Checkpoint而无法正常运行。
摘要由CSDN通过智能技术生成

前言


众所周知,Flink内部为了实现它的高可用性,实现了一套强大的checkpoint机制,还能保证作用的Exactly Once的快速恢复。对此,围绕checkpoint过程本身做了很多的工作。在官方文档中,也为用户解释了checkpoint的部分原理以及checkpoint在实际生产中(尤其是大规模状态集下)的checkpoint调优参数。笔者结合官方文档,给大家做个总结,也算是对Flink checkpoint机理的一个学习。

Checkpoint快慢的性能指标


如果说我们想要对flink的checkpoint操作做调优,那么我们首先得有个衡量指标来展现当前checkpoint是否快慢。在这里,官方提供了以下2个metric指标:

  • Checkpoint每次开始的时间。观察每次checkpoint开始的时间是为了检测在每次前后checkpoint中间是否存在空闲时间间隔。如果存在间隔时间,说明当前checkpoint都在合理时间内完成。
  • 观察数据buffered的量。这个buffered动作是为了等待其它较慢数据流的stream barriers而设计的。这个偏向于checkpoint原理化的相关内容了。

但大体上,用户根据第一条就能够监测出应用的checkout快慢了。

相邻Checkpoint的间隔时间设置


我们假设一个使用场景,在极大规模状态数据集下,应用每次的checkpoint时长都超过系统设定的最大时间(也就是checkpoint间隔时长),那么会发生什么样的事情。

答案是应用会一直在做ch

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值