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学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
2月前
|
消息中间件 Kafka Apache
Apache Flink 是一个开源的分布式流处理框架
Apache Flink 是一个开源的分布式流处理框架
482 5
|
传感器 Apache 流计算
Apache Flink 是一个框架和分布式处理引擎
Apache Flink 是一个框架和分布式处理引擎
155 0
|
存储 网络协议 API
【Flink】Flink 底层RPC框架分析
对于Flink中各个组件(JobMaster、TaskManager、Dispatcher等),其底层RPC框架基于Akka实现,本文着重分析Flink中的Rpc框架实现机制及梳理其通信流程。
347 0
【Flink】Flink 底层RPC框架分析
|
分布式计算 大数据 Apache
大数据处理的三种框架:Storm,Spark和Samza
<p style="margin-top: 0px; margin-bottom: 1.5em; padding-top: 0px; padding-bottom: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px;
1346 0
|
资源调度 分布式计算 Hadoop
Flink#了解Flink 新一代大数据处理引擎 Apache Flink
Flink#了解Flink 新一代大数据处理引擎 Apache Flink
1894 0
|
分布式计算 Prometheus 资源调度
分布式计算引擎 Flink/Spark on k8s 的实现对比以及实践
以 Flink 和 Spark 为代表的分布式流批计算框架的下层资源管理平台逐渐从 Hadoop 生态的 YARN 转向 Kubernetes 生态的 k8s 原生 scheduler 以及周边资源调度器,比如 Volcano 和 Yunikorn 等。这篇文章简单比较一下两种计算框架在 Native Kubernetes 的支持和实现上的异同,以及对于应用到生产环境我们还需要做些什么。
1325 0
分布式计算引擎 Flink/Spark on k8s 的实现对比以及实践
|
3月前
|
SQL 大数据 数据处理
【Flink】Flink 起源和设计理念
【1月更文挑战第26天】【Flink】Flink 起源和设计理念
|
分布式计算 大数据 流计算
流式大数据处理的三种框架:Storm,Spark和Samza
流式大数据处理的三种框架:Storm,Spark和Samza
980 0

推荐镜像

更多