• flink学习-容错机制


    checkpoint(检查点

    flink中最重要的容错机制,就是checkpoint机制,使用checkpoint可以将之前某个时间点的所有的状态进行保存,这个存档就是checkpoint。

    检查点的保存

    周期性存储保存,间隔时间可以由用户进行指定。
    保存时间点应该是整体处理完某一条数据处理完,将这个时间点的状态保存下来。

    检查点恢复状态

    当发生故障时,需要找到最近一次成功保存的检查点进行数据恢复。

    检查点算法

    在flink中,采用Channdy-Lamport 算法的分布式快照,可以在不暂停流处理的前提下,经状态备份保存到检查点。
    借鉴水位线设计,插入一个特殊数据结构,表示触发检查保存的时间点,算子遇到后就对当前算子内状态进行持久化保存。
    在JobManager中有个『检查点协查器』,用以专门协调处理检查点的相关工作。
    分布式快照算法
    barrier对齐的精准一次
    barrier对齐的至少一次
    非barrier对齐的精准一次

    checkpoint 常用配置

    主要是在设置检查点时需要设置周期,已经模式(例如采用精准一次)
    超时时间(默认10分钟)
    指定检查存储路径
    最大checkpoint并发数
    最小等待时间间隔
    最小等待间隔(上一轮checkpoint结束到下一轮checkpoint开始间的间隔)
    取消作业时,checkpoint的数据是否保留在外部系统
    允许checkpoint连续失败的次数
    非对齐检查点设置后将会自动设置为精准一次。

    保存点用途

    整体上看可以将保存点看做程序临时保存使用:
    版本管理和归档存储
    更新Flink版本
    更新应用程序
    调整并行度
    暂停应用程序

    状态一致性

    状态一致性部分主要分为三种级别
    最多一次(At-Most-Once)
    至少一次(At-Least-Once)
    精准一次(Exactly-Once)
    采用两阶段提交可以用来解决分布式场景下的事务,1、上一次检查点完成后,barrier后续的数据开始进行预提交;2、当新的检查点完成时,各个节点进行正式提交。

  • 相关阅读:
    4年测试在岗,薪资却被春招来的年轻人超过了,结果真的不会陪你演戏~
    通过SpringBoot实现一个简单的httpServer(详细)
    Linux基础命令之tar解压缩详解
    Labview 前面板放置照片
    PTA:7-3 两个递增链表的差集
    Docker基础(CentOS 7)
    【LeetCode - 每日一题】2594. 修车的最少时间(23.09.07)
    python经典百题之打印楼梯
    《我在美国学游戏设计》笔记
    C#核心笔记——(一)C#和.NET Framework
  • 原文地址:https://blog.csdn.net/taotaobujuerulv/article/details/139619385