图解Flink的Checkpoint机制.pdf
《图解Flink的Checkpoint机制.pdf》由会员分享,可在线阅读,更多相关《图解Flink的Checkpoint机制.pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、图解 Flink 的 Checkpoint 机制 Flink 是一个分布式的流处理引擎,而流处理的其中一个特点就是 7X24。那么,如何保障 Flink 作业的持续运行呢?Flink 的内部会将应用状态(state)存储到本地内存或者嵌入式的 kv 数据库(RocksDB)中,由于采用的是分布式架构,Flink 需要对本地生成的状态进行持久化存储,以避免因应用或者节点机器故障等原因导致数据的丢失,Flink 是通过 checkpoint(检查点)的方式将状态写入到远程的持久化存储,从而就可以实现不同语义的结果保障。通过本文,你可以了解到什么是全局一致性检查点,Flink 内部如何通过检查点实现
2、 Exactly Once 的结果保障。什么是 Checkpoint(检查点)为了保证 state 容错,Flink 提供了处理故障的措施,这种措施称之为checkpoint(一致性检查点)。checkpoint 是 Flink 实现容错的核心功能,主要是周期性地触发 checkpoint,将 state 生成快照持久化到外部存储系统(比如HDFS)。这样一来,如果 Flink 程序出现故障,那么就可以从上一次checkpoint 中进行状态恢复,从而提供容错保障。另外,通过 checkpoint 机制,Flink 可以实现 Exactly-once 语义(Flink 内部的 Exactly-
3、once,关于端到端的exactly_once,Flink 是通过两阶段提交协议实现的)。下面将会详细分析 Flink 的checkpoint 机制。检查点的生成 如上图,输入流是用户行为数据,包括购买(buy)和加入购物车(cart)两种,每种行为数据都有一个偏移量,统计每种行为的个数。第一步:JobManager checkpoint coordinator 触发 checkpoint。第二步:假设当消费到cart,3这条数据时,触发了 checkpoint。那么此时数据源会把消费的偏移量 3 写入持久化存储。第三步:当写入结束后,source 会将 state handle(状态存储路径
4、)反馈给JobManager 的 checkpoint coordinator。第四步:接着算子 count buy 与 count cart 也会进行同样的步骤 第五步:等所有的算子都完成了上述步骤之后,即当 Checkpoint coordinator 收集齐所有 task 的 state handle,就认为这一次的 Checkpoint 全局完成了,向持久化存储中再备份一个 Checkpoint meta 文件,那么整个 checkpoint也就完成了,如果中间有一个不成功,那么本次 checkpoin 就宣告失败。检查点的恢复 通过上面的分析,或许你已经对Flink 的 checkp
5、oint 有了初步的认识。那么接下来,我们看一下是如何从检查点恢复的。任务失败 重启作业 恢复检查点 继续处理数据 上述过程具体总结如下:第一步:重启作业 第二步:从上一次检查点恢复状态数据 第三步:继续处理新的数据 Flink 内部 Exactly-Once 实现 Flink 提供了精确一次的处理语义,精确一次的处理语义可以理解为:数据可能会重复计算,但是结果状态只有一个。Flink 通过 Checkpoint 机制实现了精确一次的处理语义,Flink 在触发 Checkpoint 时会向 Source 端插入 checkpoint barrier,checkpoint barriers 是
6、从 source 端插入的,并且会向下游算子进行传递。checkpoint barriers 携带一个 checkpoint ID,用于标识属于哪一个checkpoint,checkpoint barriers 将流逻辑是哪个分为了两部分。对于双流的情况,通过 barrier 对齐的方式实现精确一次的处理语义。关于什么是 checkpoint barrier,可以看一下 CheckpointBarrier 类的源码描述,如下:/*Checkpoint barriers 用来在数据流中实现 checkpoint 对齐的.*Checkpoint barrier由 JobManager 的 chec
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图解 Flink Checkpoint 机制
限制150内