首页 > 解决方案 > Kafka GetOffsetShell 时间戳似乎不起作用

问题描述

我想查看从特定时间开始的 Kafka 主题,使用kafka-console-consumer并传递--offset与该时间相对应的内容。为了弄清楚要指定的偏移量,我尝试使用以下命令:

kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list ... --topic data.live --time 1533827402000

但我得到的只是:

data.live:8:
data.live:2:
data.live:5:
data.live:4:
...

(即,没有偏移量)。如果我指定--time-2(“最早”)或 -1(“最新”),该命令可以正常工作,返回如下结果:

data.live:8:765349205
data.live:2:766537956
data.live:5:759575128
data.live:4:761703674
...

(我假设第二个冒号后面的数字是偏移量)。

我的问题是:如何获得中间时间的偏移量?我尝试使用我认为应该有一些数据的毫秒时间戳。


第二个问题:使用--time-1 和 -2 的偏移量,我猜是中间偏移量,然后我将其传递给

 kafka-console-consumer.sh --bootstrap-server ... --topic data.live --offset 77000000 --partition 1

但是这--offset似乎对我返回的内容没有任何影响(我的主题值包含一个人类可读的时间戳,表明这一点)。

标签: apache-kafka

解决方案


也许您正在使用较旧的日志格式版本运行?

我们看到了同样的事情,但我们有 log.message.format.version=0.9.0.1

我认为这就是为什么直到 0.10 才引入日志消息时间戳的原因


推荐阅读