Flink中State管理与恢复之CheckPoint的参数设置

默认情况下 Flink 不开启检查点的,用户需要在程序中通过调用方法配置和开启检查 点,另外还可以调整其他相关参数:

1.Checkpoint 开启和时间间隔指定: 开启检查点并且指定检查点时间间隔为 1000ms,根据实际情况自行选择,如果状态比 较大,则建议适当增加该值。

2.exactly-ance 和 at-least-once 语义选择:
选择 exactly-once 语义保证整个应用内端到端的数据一致性,这种情况比较适合于数 据要求比较高,不允许出现丢数据或者数据重复,与此同时,Flink 的性能也相对较弱,而 at-least-once 语义更适合于时廷和吞吐量要求非常高但对数据的一致性要求不高的场景。 如 下 通 过 setCheckpointingMode() 方 法 来 设 定 语 义 模 式 , 默 认 情 况 下 使 用 的 是 exactly-once 模式。

3.Checkpoint 超时时间:
超时时间指定了每次 Checkpoint 执行过程中的上限时间范围,一旦 Checkpoint 执行时 间超过该阈值,Flink 将会中断 Checkpoint 过程,并按照超时处理。该指标可以通过 setCheckpointTimeout 方法设定,默认为 10 分钟。

4.检查点之间最小时间间隔:
该参数主要目的是设定两个 Checkpoint 之间的最小时间间隔,防止出现例如状态数据 过大而导致 Checkpoint 执行时间过长,从而导致 Checkpoint 积压过多,最终 Flink 应用密 集地触发 Checkpoint 操作,会占用了大量计算资源而影响到整个应用的性能。

5.最大并行执行的检查点数量:
通过 setMaxConcurrentCheckpoints()方法设定能够最大同时执行的 Checkpoint 数量。 在默认情况下只有一个检查点可以运行,根据用户指定的数量可以同时触发多个 Checkpoint,进而提升 Checkpoint 整体的效率。

6.是否删除 Checkpoint 中保存的数据:
设置为 RETAIN_ON_CANCELLATION:表示一旦 Flink 处理程序被 cancel 后,会保留 CheckPoint 数据,以便根据实际需要恢复到指定的 CheckPoint。 设置为 DELETE_ON_CANCELLATION:表示一旦 Flink 处理程序被 cancel 后,会删除 CheckPoint 数据,只有 Job 执行失败的时候才会保存 CheckPoint

7.TolerableCheckpointFailureNumber:
设置可以容忍的检查的失败数,超过这个数量则系统自动关闭和停止任务。

Original: https://blog.51cto.com/u_15704423/5434851
Author: wx62be9d88ce294
Title: Flink中State管理与恢复之CheckPoint的参数设置

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/516958/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球