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

总结

  • 注意后面两种情况下,对于开始位置在代码上的设置差异。
相关推荐
yyuuuzz2 小时前
独立站的技术基础与常见运维问题
大数据·运维·服务器·网络·数据库·aws
微擎应用6 小时前
智能售货柜公众号管理系统平台
大数据·人工智能
计算机安禾8 小时前
【算法分析与设计】第26篇:参数化算法与固定参数可解性理论
大数据·人工智能·算法·机器学习·剪枝
liushangzaibeijing8 小时前
Superpower 使用大纲
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客8 小时前
每次操作一个 API 调用:Elastic Cloud Hosted 如何让大规模部署管理变得可行
大数据·运维·数据库·elasticsearch·搜索引擎·serverless
志栋智能11 小时前
超自动化安全:实现安全运营现代化的关键
大数据·运维·网络·安全·自动化
渣渣盟11 小时前
MySQL DDL操作全解析:从入门到精通,包含索引视图分区表等全操作解析
大数据·数据库·mysql
unclejet11 小时前
颠覆传统开发!AI根治软件工程技术债务顽疾
大数据·人工智能·软件工程
赴山海bi12 小时前
如何在不降低销量的情况下降低亚马逊ACOS
大数据
大大大大晴天️12 小时前
告别数据重复与丢失:Flink Exactly-Once 原理解析
大数据·flink