flink 任务恢复后的kafka消费起始位置

文章目录


主要分为三种情况进行讨论,一种是有checkpoint的情况下,一种是没有checkpoint的情况下,还有一种是启用了自动提交的情况下

启用checkpoint

  • 这种最简单,offset 保存在checkpoint 中,通过数据一致性的语义不同,offset 的位置也不一样,可能刚好从上一次checkpoint保存的位置开始,也可能位置会再往前一点,会多消费数据。

禁用checkpoint

  • 没有了checkpoint ,实际上offset 就取决于enable.auto.commit,如果没有自动提交,那相当于就没有offset 记录,实际的offset 取决于这里的实始化配置,如果有自动提交,就是下一种情况。
bash 复制代码
可选值
OffsetsInitializer.earliest() - starting from the earliest offsets. This is also the default OffsetsInitializer of the KafkaSource for starting offsets.
OffsetsInitializer.latest() - starting from the latest offsets.
setStartingOffsets()

kafka 是否启用enable.auto.commit

  • 如果启用了自动提交,可以通过
bash 复制代码
OffsetsInitializer.committedOffsets() 设置起始位置,
可选值有public enum OffsetResetStrategy {
    LATEST, EARLIEST, NONE
}
从已提交的offset的最新,最开始位置提交
setStartingOffsets()

总结

  • 注意后面两种情况下,对于开始位置在代码上的设置差异。
相关推荐
SmartBrain20 分钟前
战略洞察:MAAS平台在三医领域的应用案例分析
大数据·人工智能·语言模型
海棠AI实验室1 小时前
第十六章 迭代器与生成器:处理大数据的第一步
大数据·迭代器·生成器
Hello.Reader1 小时前
Flink Working Directory(FLIP-198)稳定本地恢复、RocksDB 目录与进程重启“不丢缓存”的正确姿势
spring·缓存·flink
Hello.Reader1 小时前
Flink 部署组件拆解、参考架构、Application vs Session 选型,以及生产落地 Checklist
大数据·架构·flink
Mikhail_G2 小时前
Mysql数据库操作指南(零基础篇二)
大数据·数据库·sql·mysql·数据分析
hua_ban_yu2 小时前
闭包和return的关系
大数据
Elastic 中国社区官方博客2 小时前
Elasticsearch:使用 `best_compression` 提升搜索性能
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索
德彪稳坐倒骑驴2 小时前
大数据开发面试题
大数据
你才是臭弟弟2 小时前
数据如何入湖
大数据
德彪稳坐倒骑驴2 小时前
Spark面试准备
大数据·分布式·spark