当我描述一个kafka主题时,它不显示任何分区的日志结束偏移量,而是显示所有其他元数据,如isr、副本、leader。如何查看给定主题的分区的日志结束偏移量?运行这个:./kafka-topics.sh--zookeeper-zk-service:2181 --describe --主题“\消费者\补偿”输出没有偏移列。注:只需要日志结束偏移。
hgqdbh6s1#
安装kafkacat,它是一个易于使用的kafka工具:
sudo apt-get update sudo apt-get install kafkacat kafkacat -C -b <kafka-broker-ip-and-port> -t <topic> -o -1
这不会消耗任何内容,因为在添加消息后偏移量会增加。但它会给出所有分区的偏移量。但是请注意,这不是您正在消耗的当前偏移量。。。以上的答案将帮助您更深入地了解分区延迟。
vuv7lop32#
以下是获取给定使用者组的给定kafka主题的所有分区的偏移量所需的命令: kafka-consumer-groups --bootstrap-server <kafka-broker-list-with-ports> --describe --group <consumer-group-name> 请注意 <consumer-group-name> 最后一点很重要,因为补偿是由消费者承诺的,而消费者通常是消费者群体的一部分。此命令的输出可能类似于: TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID <topic-name> 0 62 62 0 <consumer-id> <host> <client> 然而,在你的帖子中,你试图获取关于内部主题的信息 __consumer_offsets 所以你需要一个消费者群体,让消费者从这个内部主题中消费。您可以执行以下操作: kafka-console-consumer --bootstrap-server <kafka-broker-list-with-ports> --topic __consumer_offsets --formatter "kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter" --max-messages 5 上述命令的输出: [<consumer-group-name>,<topic-name>,0]::[OffsetMetadata[481690879,NO_METADATA],CommitTime 1479708539051,ExpirationTime 1480313339051] 就用这个 <consumer-group-name> 把它放到 kafka-consumer-groups 命令,您将仅获得给定使用者组的所有50个分区的偏移量详细信息。我希望这有帮助。
kafka-consumer-groups --bootstrap-server <kafka-broker-list-with-ports> --describe --group <consumer-group-name>
<consumer-group-name>
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID <topic-name> 0 62 62 0 <consumer-id> <host> <client>
__consumer_offsets
kafka-console-consumer --bootstrap-server <kafka-broker-list-with-ports> --topic __consumer_offsets --formatter "kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter" --max-messages 5
[<consumer-group-name>,<topic-name>,0]::[OffsetMetadata[481690879,NO_METADATA],CommitTime 1479708539051,ExpirationTime 1480313339051]
kafka-consumer-groups
cunj1qz13#
由于只查找主题的日志结束偏移量,因此可以使用 kafka-run-class 与 kafka.tools.GetOffsetShell 班级。假设你的主题是 __consumer_offsets ,您可以通过运行以下命令获得端点偏移:
kafka-run-class
kafka.tools.GetOffsetShell
./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --time -1 --topic __consumer_offsets
更改 --broker-list localhost:9092 你想要的Kafka地址。这将列出主题中每个分区的所有日志结束偏移量。
--broker-list localhost:9092
3条答案
按热度按时间hgqdbh6s1#
安装kafkacat,它是一个易于使用的kafka工具:
这不会消耗任何内容,因为在添加消息后偏移量会增加。但它会给出所有分区的偏移量。但是请注意,这不是您正在消耗的当前偏移量。。。以上的答案将帮助您更深入地了解分区延迟。
vuv7lop32#
以下是获取给定使用者组的给定kafka主题的所有分区的偏移量所需的命令:
kafka-consumer-groups --bootstrap-server <kafka-broker-list-with-ports> --describe --group <consumer-group-name>
请注意<consumer-group-name>
最后一点很重要,因为补偿是由消费者承诺的,而消费者通常是消费者群体的一部分。此命令的输出可能类似于:
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID <topic-name> 0 62 62 0 <consumer-id> <host> <client>
然而,在你的帖子中,你试图获取关于内部主题的信息__consumer_offsets
所以你需要一个消费者群体,让消费者从这个内部主题中消费。您可以执行以下操作:kafka-console-consumer --bootstrap-server <kafka-broker-list-with-ports> --topic __consumer_offsets --formatter "kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter" --max-messages 5
上述命令的输出:[<consumer-group-name>,<topic-name>,0]::[OffsetMetadata[481690879,NO_METADATA],CommitTime 1479708539051,ExpirationTime 1480313339051]
就用这个<consumer-group-name>
把它放到kafka-consumer-groups
命令,您将仅获得给定使用者组的所有50个分区的偏移量详细信息。我希望这有帮助。
cunj1qz13#
由于只查找主题的日志结束偏移量,因此可以使用
kafka-run-class
与kafka.tools.GetOffsetShell
班级。假设你的主题是
__consumer_offsets
,您可以通过运行以下命令获得端点偏移:更改
--broker-list localhost:9092
你想要的Kafka地址。这将列出主题中每个分区的所有日志结束偏移量。