Apache Flink 是一个开源的分布式流处理框架

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: Apache Flink 是一个开源的分布式流处理框架【1月更文挑战第13天】【1月更文挑战第64篇】

Apache Flink 是一个开源的分布式流处理框架,自 1.11 版本起,Flink 提供了与 Kafka 集成的官方 Connector,使得 Flink 能够消费 Kafka 数据。在 Flink 1.14.4 版本中,确实支持将 Kafka 偏移量保存在外部系统,如Kafka本身,并且可以手动维护这些偏移量。

Flink Kafka Consumer 允许通过不同的设置模式来控制如何从 Kafka 主题中读取数据。例如,使用 setStartFromGroupOffsets() 方法,Flink 将从消费者组上次提交的偏移量开始消费。而 setStartFromEarliest() 则会从主题最早的记录开始消费,丢弃已提交的偏移量。另外,setStartFromLatest() 方法使得 Flink 从最新的记录开始消费。此外,还可以通过 setStartFromTimestamp() 方法指定从某个时间戳开始消费。

如果需要更精细的控制,可以使用 setStartFromSpecificOffsets(specificStartOffsets) 方法,该方法需要一个映射 Map<KafkaTopicPartition, Long> 作为参数,其中包含了每个分区开始的偏移量。

当启动了 Flink 的检查点(Checkpoint)机制时,Flink Kafka Consumer 会自动将偏移量保存在检查点状态中。这意味着,如果发生故障,Flink 可以从最后一个检查点恢复消费,从而确保数据的一致性和可靠性。为此,你可以配置 enableCheckpointing 来启用检查点,并设置 auto.commit.interval.ms 为 Kafka 消费者的自动提交偏移量的间隔。

此外,Flink Kafka Consumer 提供了 setCommitOffsetsOnCheckpoints(true) 方法,用于在每次检查点完成后自动提交偏移量到 Kafka。这确保了 Kafka 中的 committed offset 与 Flink 状态后端中的 offset 保持一致。

不过,值得注意的是,如果 Flink 作业发生了故障,且没有从检查点恢复,而是直接重启,Flink 将尝试从上一次提交的偏移量或配置的偏移量重新开始消费。这种情况下,就需要确保 Kafka 中有可用的偏移量供 Flink 恢复。

综上所述,Flink 1.14.4 版本支持将 Kafka 偏移量保存在外部系统,并可以手动维护这些偏移量,结合检查点机制,可以确保数据的一致性和可靠性。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
29天前
|
消息中间件 Kafka Apache
Apache Flink 是一个开源的分布式流处理框架
Apache Flink 是一个开源的分布式流处理框架
734 5
|
7月前
|
Java Linux API
flink入门-流处理
flink入门-流处理
117 0
|
SQL 存储 消息中间件
Apache Flink X Apache Doris 构建极速易用的实时数仓架构
在本次分享中,将为大家介绍如何基于 Apache Doris 和 Apache Flink 构建极速易用的实时数仓架构。
Apache Flink X Apache Doris 构建极速易用的实时数仓架构
|
存储 缓存 分布式计算
《基于Apache Flink的流处理》读书笔记
前段时间详细地阅读了 **《Apache Flink的流处理》** 这本书,作者是 Fabian Hueske&Vasiliki Kalavri,国内崔星灿翻译的,这本书非常详细、全面得介绍了Flink流处理,并且以气象数据的例子讲解其中的使用,我把其中一些比较重要的句子做了比较,并且分享给大家。有一些我不是很理解,需要以后慢慢去消化,我就不做详细的展开。
《基于Apache Flink的流处理》读书笔记
|
传感器 Apache 流计算
Apache Flink 是一个框架和分布式处理引擎
Apache Flink 是一个框架和分布式处理引擎
163 0
|
存储 网络协议 API
【Flink】Flink 底层RPC框架分析
对于Flink中各个组件(JobMaster、TaskManager、Dispatcher等),其底层RPC框架基于Akka实现,本文着重分析Flink中的Rpc框架实现机制及梳理其通信流程。
362 0
【Flink】Flink 底层RPC框架分析
|
消息中间件 分布式计算 Kafka
流处理开源框架Flink原理简介和使用(2)
流处理开源框架Flink原理简介和使用(2)
180 0
流处理开源框架Flink原理简介和使用(2)
|
消息中间件 存储 NoSQL
流处理开源框架Flink原理简介和使用(3)
流处理开源框架Flink原理简介和使用(3)
115 0
流处理开源框架Flink原理简介和使用(3)
|
消息中间件 传感器 分布式计算
流处理开源框架Flink原理简介和使用(1)
流处理开源框架Flink原理简介和使用(1)
119 0
流处理开源框架Flink原理简介和使用(1)

推荐镜像

更多