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

总结

  • 注意后面两种情况下,对于开始位置在代码上的设置差异。
相关推荐
青稞社区.10 小时前
Claude Code 源码深度解析:运行机制与 Memory 模块详解
大数据·人工智能·elasticsearch·搜索引擎·agi
T062051410 小时前
【面板数据】地级市及区县人口空心化数据(2000-2024年)
大数据
Aktx20FNz11 小时前
iFlow CLI 完整工作流指南
大数据·elasticsearch·搜索引擎
DYuW5gBmH12 小时前
Kafka 成功消费消息的完整流程图
分布式·kafka·流程图
LaughingZhu12 小时前
Anthropic 收购 Oven 后,Claude Code 用运行时写了一篇护城河文章
大数据·人工智能·经验分享·搜索引擎·语音识别
学习3人组12 小时前
TortoiseGit冲突解决实战上机练习
大数据·elasticsearch·搜索引擎
Ln5x9qZC212 小时前
Flink SQL 元数据持久化实战
大数据·sql·flink
OYpBNTQXi12 小时前
Flink Agents 源码解读 --- (6) --- ActionTask
大数据·flink
中金快讯13 小时前
济民健康医疗服务占比提升至46%!业务结构调整初见成效
大数据·人工智能
lizhihai_9913 小时前
股市学习心得-尾盘半小时买入法
大数据