如何从 kafka 命令中获取特定主题的偏移量?

问题描述

我有一个 kafka 主题 test

我想获取以下样式信息

[console-consumer-46965,test,2]::[OffsetMetadata[21,NO_MetaDATA],CommitTime 1479092279434,ExpirationTime 1479178679434]
[console-consumer-46965,1]::[OffsetMetadata[21,CommitTime 1479092284246,ExpirationTime 1479178684246]
[console-consumer-46965,0]::[OffsetMetadata[22,CommitTime 1479092284436,ExpirationTime 1479178684436]
[console-consumer-46965,ExpirationTime 1479178684436]

问题:
如何使用kafka命令获取上述日志?

我的努力:
我知道旧版 kafka 的命令是:

bin/kafka-simple-consumer-shell.sh --topic __consumer_offsets --partition 11 \
    --broker-list localhost:9092,localhost:9093,localhost:9094 \
    --formatter "kafka.coordinator.group.GroupMetadataManager\$Offsetsmessageformatter"

但是现在我的 kafka 版本是 2.5.0

需要你的帮助,谢谢~!

解决方法

如果您只对最高偏移量感兴趣,可以运行:

$KAFKA_HOME/bin/kafka-run-class.sh kafka.tools.GetOffsetShell \
    --broker-list :9092 --topic my-topic --partitions 0,1 --time -1

删除 --partitions 以获取所有主题分区的偏移量。