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()

总结

  • 注意后面两种情况下,对于开始位置在代码上的设置差异。
相关推荐
微光闪现6 小时前
AI识别宠物焦虑、紧张和晕车行为,是否已经具备实际可行性?
大数据·人工智能·宠物
大厂技术总监下海8 小时前
“Today I Learned”(TIL):一种比写博客更可持续的知识沉淀习惯
大数据·开源·github
房产中介行业研习社9 小时前
2026年1月房产中介管理系统排名
大数据·人工智能
有味道的男人9 小时前
平衡接入京东关键词API利弊的核心策略
大数据·运维
ZKNOW甄知科技9 小时前
IT自动分派单据:让企业服务流程更智能、更高效的关键技术
大数据·运维·数据库·人工智能·低代码·自动化
屿小夏.10 小时前
【Elasticsearch】Elasticsearch的分片和副本机制
大数据·elasticsearch·jenkins
Jinkxs10 小时前
Gradle - 与Elasticsearch集成 构建搜索服务项目
大数据·elasticsearch·搜索引擎
DBA大董11 小时前
云环境部署TDengine的那些坑
大数据·时序数据库·tdengine
阿坤带你走近大数据11 小时前
数据湖的构建实施方法论
大数据·数据湖·湖仓一体
安徽必海微马春梅_6688A12 小时前
实验a 信息化集成化生物信号采集与处理系统
大数据·人工智能·深度学习·信号处理