Flink的CheckPoint
Checkpoint
checkpoint是Flink容错的核心机制。它可以定期的将各个Operator处理的数据进行快照存储(Snapshot)。
如果Flink程序出现宕机,可以重新从这些快照中恢复数据。
Flink容错机制的核心就是持续创建分布式数据流及其状态的一致快照。Flink的checkpoint是通过分布式快照实现的,
所以在flink中这两个词是一个意思。
checkpoint用来保证任务的错误恢复。任务失败可以从最新的checkpoint恢复。
checkpoint机制需要一个可靠的可以回放数据的数据源(kafka,RabbitMQ,HDFS...)和一个存放state的持久存储(hdfs,S3)
1、checkpointConfig
通过调用StreamExecutionEnvironment.enableCheckpointing(internal,mode) 启用checkpoint 。
internal 默认是 -1,表示checkpoint不开启,mode默认是EXACTLY_ONCE模式。
可设置checkpoint timeout,超过这个时间 checkpoint 没有成功,checkpoint 终止。默认 10分钟。
可设置 chekpoint 失败任务是否任务也失败,默认是true
可设置同时进行的checkpoint数量,默认是1.
2、barrier
将barrier插入到数据流中,作为数据流的一部分和数据一起向下流动。Barrier不会干扰正常数据,数据流严格有序。
一个barrier把数据流分割成两部分:一部分进入到当前快照,另一部分进入到下一个快照。
每一个barrier都带有快照ID,并且barrier之前的数据都进入了此快照。Barrier不会干扰数据流处理,所以非常轻量。
多个不同快照的多个barrier会在流中同时出现,即多个快照可能同时创建。
Barrier在数据源端插入,当 snapshot 的barrier 插入后,系统会记录当前snashot 位置值n (用Sn表示。)
例如:在 Apache Kafka中,这个变量表示某个分区中最后一条数据的偏移量。这个位置值Sn 会被发送到一个称为 checkpoint coordinator的模块。
然后 barrier 继续向下移动,当一个 operator 从其输入流接收到所有标识 snapshot n 的 barrier时,它会向其所有输入流插入一个标识 snapshot n 的
barrier。当sink operator (DAG流的终点) 从其输入流接收到所有 barrier n时,它向 the checkpoint coordinator 确认 snapshot n 已完成。
当所有 sink 都确认了这个快照,快照就被标识为完成。
3、
3.1 如何触发 checkpoint?
3.2 异步储存快照
Flink的CheckPoint的更多相关文章
- [Flink原理介绍第四篇】:Flink的Checkpoint和Savepoint介绍
原文:https://blog.csdn.net/hxcaifly/article/details/84673292 https://blog.csdn.net/zero__007/article/d ...
- [case49]聊聊flink的checkpoint配置
序 本文主要研究下flink的checkpoint配置 实例 StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecut ...
- flink的checkpoint页面监控
flink web页面中提供了针对Job Checkpoint相关的监控信息.Checkpoint监控页面共有overview.history.summary和configuration四个页签,分别 ...
- flink-----实时项目---day07-----1.Flink的checkpoint原理分析 2. 自定义两阶段提交sink(MySQL) 3 将数据写入Hbase(使用幂等性结合at least Once实现精确一次性语义) 4 ProtoBuf
1.Flink中exactly once实现原理分析 生产者从kafka拉取数据以及消费者往kafka写数据都需要保证exactly once.目前flink中支持exactly once的sourc ...
- checkpoint and savepoint in FlinK
https://info.lightbend.com/rs/558-NCX-702/images/preview-apache-flink.pdf https://www.microsoft.com/ ...
- Flink源码阅读(一)--Checkpoint触发机制
Checkpoint触发机制 Flink的checkpoint是通过定时器周期性触发的.checkpoint触发最关键的类是CheckpointCoordinator,称它为检查点协调器. org.a ...
- flink checkpoint 源码分析 (一)
转发请注明原创地址http://www.cnblogs.com/dongxiao-yang/p/8029356.html checkpoint是Flink Fault Tolerance机制的重要构成 ...
- Apache Flink 进阶(三):Checkpoint 原理解析与应用实践
大家好,今天我将跟大家分享一下 Flink 里面的 Checkpoint,共分为四个部分.首先讲一下 Checkpoint 与 state 的关系,然后介绍什么是 state,第三部分介绍如何在 Fl ...
- Flink Checkpoint 问题排查实用指南
在 Flink 中,状态可靠性保证由 Checkpoint 支持,当作业出现 failover 的情况下,Flink 会从最近成功的 Checkpoint 恢复.在实际情况中,我们可能会遇到 Chec ...
随机推荐
- Three.js-任意平面的镜像矩阵
1. 什么是镜像变换 直接看下面这张图: 这张图很好的诠释了镜像变化,关于y轴的变化,关于x轴的变化.这种关于任意轴的变化,就是镜像了. 2d下的镜像矩阵变化 我们以图像关于Y轴镜像为例子:原图形和结 ...
- 微信小程序云开发-云函数-创建云函数
一.检查云函数环境 检查云函数环境时候,鼠标右键点击查看当前环境.如果存在多个云开发环境,要确保云函数的当前环境要与app.js中evn的环境值一致. 如果不一致,则鼠标右键切换当前云开发环境.(如果 ...
- P4168-蒲公英-分块
蒲公英 暴力分块思想.分块的思想与莫队相同.它能将时间和空间复杂度均摊XD belong表示所属区块,num维护区间颜色出现次数,maxx维护区间max值.查询时只需要比较两端的区块即可. #incl ...
- 【搜索】单词接龙 luogu-1019
题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的"龙"(每个单词都最多在"龙" ...
- spring @Primary-在spring中的使用(十九)
一.@Primary 在spring 中使用注解,常使用@Autowired, 默认是根据类型Type来自动注入的.但有些特殊情况,对同一个接口,可能会有几种不同的实现类,而默认只会采取其中一种的情况 ...
- Deepin 20.1打造软件开发环境
支持国产操作系统,替代Windows势在必行,不能让美国卡"脖子"是广大计算机爱好者的共同心愿,下面列举一下Deepin V20.1下如何安装常用软件 ============== ...
- ECShop 2.x/3.x SQL注入/任意代码执行漏洞
poc地址:https://github.com/vulhub/vulhub/blob/master/ecshop/xianzhi-2017-02-82239600/README.zh-cn.md 生 ...
- Adobe ColdFusion 反序列化漏洞(CVE-2017-3066)
影响版本 以下版本受到影响:Adobe ColdFusion (2016 release) Update 3及之前的版本,ColdFusion 11 Update 11及之前的版本,ColdFusio ...
- MFC发送自定义消息
1.在窗口的头文件中声明: afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam); 2.在cpp的BEGIN_MESSAGE_MAP和EN ...
- RHCSA_DAY11
删除逻辑卷 逻辑卷的删除不允许联机操作,需要先卸载,在执行删除 在执行删除操作时,首先删除LV逻辑卷,在删除VG卷组,最后删除PV物理卷 删除命令:lvremove #删除逻辑卷错误示范 [root@ ...