kafka实战(二):kafka读取偏移量主题信息(__consumer_offsets)

Kafka 的新版本已经支持将 group 组的偏移量信息存储在 kafka 中,而且由于之前存储在 zookeeper 中,而 zookeeper 并不适合大批量的频繁写入操作,官网也是建议使用 kafka 来进 行存储。
那么问题来了,我们要怎样查看在 kafka 中的 metadata 信息呢?

Metadata 是以 topic 的形式存储在 kafka 中的,topic 名为:__consumer_offsets。并且也提供 了 kafka_consumer_groups.sh 脚本来帮助我们查看偏移量情况。但这还是不满足我们的需求, 我们可能需要查看__consumer_offsets 中的所有信息和信息结构,这里我们介绍如何查看 __consumer_offsets 中的信息。

查看__consumer_offsets 中的所有信息
需要在 consumer.properties 中设置 exclude.internal.topics=false

bin/kafka-console-consumer.sh --topic __consumer_offsets --zookeeper localhost:2181 -- formatter "kafka.coordinator.GroupMetadataManager\$OffsetsMessageFormatter" -- consumer.config config/consumer.properties --from-beginning

查看某个 group 在__consumer_offsets 的信息:
1. 计算要查询的 groupID 在__consumer_offsets 中所在的分区,对应的分区 =Math.abs("gropuID".hashCode()) % 50
2. 获取信息
 

bin/kafka-simple-consumer-shell.sh --topic __consumer_offsets --partition 指定分区 --broker-list localhost:9092 --formatter "kafka.coordinator.GroupMetadataManager\$OffsetsMessageFormatter" 

可以看到__consumer_offsets topic 的每一日志项的格式都是:
[Group, Topic, Partition]::[OffsetMetadata[Offset, Metadata], CommitTime, ExpirationTime]

更多:kafka深入理解专栏

——————————————————————————————————

作者:桃花惜春风

转载请标明出处,原文地址:  

https://blog.csdn.net/xiaoyu_BD/article/details/81782418

如果感觉本文对您有帮助,请留下您的赞,您的支持是我坚持写作最大的动力,谢谢!

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页