Checkpoints

作者: 小C菜鸟 | 来源:发表于2018-02-28 23:45 被阅读34次

原文链接


概述

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

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

Externalized Checkpoints

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

CheckpointConfig config = env.getCheckpointConfig();
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决定,当前只能通过配置文件设值。

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

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

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

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

与Savepoints的差异

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

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

从一个外部的checkpoint恢复

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

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

相关文章

  • Checkpoints

    原文链接 概述 Checkpoint通过允许从状态和相应流的位置进行恢复,从而使Flink中的状态具备容错能力,从...

  • 在Apache Flink中Savepoints和CheckPo

    翻译自:3 differences between Savepoints and Checkpoints in A...

  • Flink-checkPoint机制

    转载:https://yijiyong.com/dp/flink/05-checkpoints.html[http...

  • 2_checkpoints

    tensorflow提供两种模型格式 checkpoint:依赖于创建模型的代码 SavedModel:与模型代码...

  • Flink Checkpoints 翻译

    英文原址 https://ci.apache.org/projects/flink/flink-docs-mast...

  • Flink's Savepoint vs Checkpo

    Checkpoints和Savepoints都是Apache Flink流式处理框架中比较特别的功能。它们在实现上...

  • Tuning Checkpoints and Large Sta

    原文链接 本页面提供了如何配置和优化使用大型状态的应用程序的指南。 概述 为了让Flink应用程序在大规模集群上可...

  • RocksDB系列十二:Checkpoints

      Checkpoint是RocksDB的一个feature,主要支持对当前正在运行的数据库制作一个snapsho...

  • 交互设计checkpoints

    对于一个刚刚步入交互设计行业的新人来说,找到行之有效的学习方法对自己的成长十分重要,对此将个人经验总结一下,跳过的...

  • [翻译4.2-4.3]Chapter 4. Machine Le

    4.2 Saving training checkpoints 当我们从上面开始的时候,训练模型其实是通过多次训练...

网友评论

    本文标题:Checkpoints

    本文链接:https://www.haomeiwen.com/subject/shewxftx.html