【发布时间】:2015-04-29 15:47:59
【问题描述】:
当我设置startOffsetTime=kafka.api.OffsetRequest.LatestTime()时,偏移量的值是最大的。
当设置startOffsetTime is kafka.api.OffsetRequest.EarliestTime()时,偏移值是多少?
【问题讨论】:
标签: apache-kafka kafka-consumer-api
当我设置startOffsetTime=kafka.api.OffsetRequest.LatestTime()时,偏移量的值是最大的。
当设置startOffsetTime is kafka.api.OffsetRequest.EarliestTime()时,偏移值是多少?
【问题讨论】:
标签: apache-kafka kafka-consumer-api
有点难以理解你的问题。但无论如何,我想您是在询问最早的偏移量时偏移量是多少。
Kafka 具有日志保留配置,允许为消息或日志文件大小设置生存时间。 More here.
假设您有一个将日志保留时间设置为 1 小时的主题,并且您生成了一些具有以下偏移量的消息:
0 1 2 3 4 5 6 7 8 9 10 ...
一小时后旧消息将从日志中删除,您可能会看到以下图片:
<offsets 0 1 2 3 4 no more exist in log> 5 6 7 8 9 10 ...
然后,当您查询最早的偏移量时,您将得到5,因为偏移量0-4 不再存在。
这同样适用于log.retention.bytes 配置,当您超过该配置值时,旧消息将被丢弃(实际上是整个段,但这对这个问题无关紧要)导致最早的偏移量高于0 .
【讨论】: