• Flink状态Checkpoints检查点设置


    概述

    Checkpoint通过允许从状态和相应流的位置进行恢复,从而使Flink中的状态具备容错能力,从而使应用程序具有与无故障执行相同的语义。

    为你的程序如何开启和配置checkpoint见 Checkpointing for how to enable and configure checkpoints for your program.

    Externalized Checkpoints

    默认情况下,checkpoint不是持久化的,只用于从故障中恢复作业。当程序被取消时,它们会被删除。但是你可以配置checkpoint被周期性持久化到外部,类似于savepoints 。这些外部的checkpoints将它们的元数据输出到外部持久化存储并且当作业失败时不会自动清除。这样,如果你的工作失败了,你就会有一个checkpoint来恢复。

    1. CheckpointConfig config = env.getCheckpointConfig();
    2. config.enableExternalizedCheckpoints(ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION);

    ExternalizedCheckpointCleanup模式配置当你取消作业时外部checkpoint会产生什么行为:

    • ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION: 当作业被取消时,保留外部的checkpoint。注意,在此情况下,您必须手动清理checkpoint状态。

    • ExternalizedCheckpointCleanup.DELETE_ON_CANCELLATION: 当作业被取消时,删除外部化的checkpoint。只有当作业失败时,检查点状态才可用。

    目录结构

    类似于savepoints, 一个外部的checkpoint由一个元数据文件和一些额外的数据文件(依赖于状态后端)组成。外部的checkpoint的元数据文件的目标目录由配置state.checkpoints.dir决定,当前只能通过配置文件设值。

    1. state.checkpoints.dir: hdfs:///checkpoints/

    这个目录包含恢复checkpoint所需要的checkpoint元数据。对于 MemoryStateBackend,它的元数据文件是自包含的,不需要更多的文件。

    FsStateBackendRocksDBStateBackend 写独立的数据文件,只将这些文件的目录写入到元数据文件中。这些数据文件存储在构建作业时为状态后端指定的路径中。

    1. env.setStateBackend(new RocksDBStateBackend("hdfs:///checkpoints-data/");

    与Savepoints的差异

    外部的checkpoints与savepoints有一些差异。 它们

    • 使用状态后端特定的(low-level)的数据格式,
    • 可能是增量的,
    • 不支持Flink特定的功能,例如rescaling

    从一个外部的checkpoint恢复

    一个作业就像从一个savepoint一样,可能会通过使用checkpoint的元数据文件,从一个外部的checkpoint恢复。注意,如果元数据文件不是自包含的,jobmanager需要访问它引用的元数据文件。

    $ bin/flink run -s :checkpointMetaDataPath [:runArgs]
    

  • 相关阅读:
    Discovery服务发现与Eureka自我保护机制及总结步骤
    jQuery学习:显示隐藏 一级菜单
    面试中的技术趋势:如何展示你跟进最新技术的能力
    mysql关联查询
    在Kubernetes上安装和配置Istio:逐步指南,展示如何在Kubernetes集群中安装和配置Istio服务网格
    Hadoop Series
    1.4 Apache Hadoop完全分布式集群搭建-hadoop-最全最完整的保姆级的java大数据学习资料
    大一新生HTML期末作业 学生个人网页设计作业 HTML5响应式个人简历网站模板 web前端网页制作课作业
    连续仨月霸占牛客榜首,京东T8呕心巨作:700页JVM虚拟机实战手册
    golang小游戏:飞翔的小鸟
  • 原文地址:https://blog.csdn.net/Angel_asp/article/details/126481476