apache-kafka - 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
似乎对我返回的内容没有任何影响(我的主题值包含一个人类可读的时间戳,表明这一点)。
解决方案
也许您正在使用较旧的日志格式版本运行?
我们看到了同样的事情,但我们有 log.message.format.version=0.9.0.1
我认为这就是为什么直到 0.10 才引入日志消息时间戳的原因
推荐阅读
- ruby-on-rails - Rails Unpermitted 参数::_status
- c# - ReactiveUI:WPF 两种方式绑定未按预期工作
- wix - Wix : 将 MSI 打包到另一个 MSI
- android - CATEGORY_ALTERNATIVE 的目的到底是什么
- ruby-on-rails - Rails,缺少 /app/assets/javascripts 目录
- database-design - 使用 indexeddb 作为具有多个版本的版本数据库
- c - 查找所有可能的 IP 地址,陷入无限循环
- android - Dagger 2 / 在非活动类中注入上下文
- linux - 是否有系统调用或某种方式可以知道 Linux 中文件描述符的类型(例如常规文件 fd、套接字 fd、信号 fd、计时器 fd)?
- c# - 如何在不使用外部库的情况下编写 CSV 文件