ExternalizedCheckpointCleanup配置项定义了当作业取消时,对作业 checkpoint 的操作: ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION:当作业取消时,保留作业的 checkpoint。注意,在这种情况下,需要手动清除该作业保留的 checkpoint。 ExternalizedCheckpointCleanup.DELETE_ON_CANCELLATION:当作业取消时,删除作业的 checkpoint。...
env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); //todo 7.默认情况下,如果Checkpoint过程失败,会导致整个应用重启,我们可以关闭这个功能,这样Checkpoint失败不影响作业的运行。 // checkpoint 线程是异步的,ck失败了,job接着运行 env.getCheck...
设置为 RETAIN_ON_CANCELLATION:表示一旦 Flink 处理程序被 cancel 后,会保留CheckPoint 数据,以便根据实际需要恢复到指定的 CheckPoint。 设置为 DELETE_ON_CANCELLATION:表示一旦 Flink 处理程序被 cancel 后,会删除CheckPoint 数据,只有 Job 执行失败的时候才会保存 CheckPoint //删除streamEnv.getCheckpointConfig.enable...
* checkpoint : 定时将flink执行过程中的状态保存到状态后端 * 只保存最新一次成功的checkpoint * * * 任务执行失败之后可以从最新的checkpoint恢复任务 * flink run -c com.shujia.flink.state.Demo3Checkpoint -s hdfs://master:9000/flink/checkpoint/a306d8690ca7718aec6a425b0d8ee171/chk-645 flink-1.0.j...
完全相同的代码在测试集群可正常恢复 回滚代码后仍无法恢复生产环境 Checkpoint 二、原理解析:算子UID的时空法则 1. Flink状态拓扑的量子纠缠 每个算子通过UID(唯一标识符)与状态存储绑定,形成量子纠缠关系: DataStream<String> stream = env.addSource(...) ...
flink 从savepoint、checkpoint中恢复数据 - 前言提示:flink checkpoint重启: flink作业因为故障导致restart strategy失败或升级flink版本重新发布任务,这时就需要从最近的checkpoint恢复。一般而言有两种方案,第一种方案是开启checkpoint且任务取...
在恢复的情况下,jobmanager 打开最新的 checkpoint 对象并将句柄发送回相应的 tasks,然后可以从分布式存储中恢复它们的状态。 使用分布式存储来存储状态有两个重要的优势。 首先,存储是容错的,其次,分布式存储中的所有状态都可以被所有节点访问,并且可以很容易地重新分配(例如,用于重新扩缩容)。
首先得要做checkpoint才能恢复,所以在checkpoint的时候就得持久化到本地文件系统磁盘上: finalStreamExecutionEnvironmentenv=StreamExecutionEnvironment.getExecutionEnvironment();// ...// 使用哈希集合状态后端env.setStateBackend(newHashMapStateBackend());// 指定持久化的时候路径(本地文件系统)env.getCheckpointConfi...
第二步:把pendingCheckpoints这个map中所有正在做的checkpoint fail掉 executionGraph.getCheckpointCoordinator().abortPendingCheckpoints(newCheckpointException(CheckpointFailureReason.JOB_FAILOVER_REGION)); 第三步:从最近完成的checkpoint恢复state executionGraph.getCheckpointCoordinator().restoreLatestCheckpointedState( ...