ApacheKafka—获取java中每个主题分区的消息计数和最后偏移量

pn9klfpd  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(571)

使用管理客户端与kafka进行java代码通信。我们能够对特定的主题进行所有的crud操作。我们的新要求是获取topic的消息数、topic的所有消息的大小、topic的每个分区的最后偏移量。
输入:5个分区的代理列表和主题预期输出如下

{
  "total": 10,
  "partitions": [
    3,
    2,
    1,
    3,
    1
  ],
  "offsets": [
    10,
    9,
    9,
    11,
    12
  ]
}

total是以字节为单位的邮件大小。
已尝试使用使用者组id。仅当主题已被使用时,我们才能在此处获取数据。无论主题是否已被使用,我们都希望获取其详细信息。
请提出可能的建议

ykejflvf

ykejflvf1#

使用命令行,可以按以下方式收集主题的每个分区的偏移量:

kafka%~ bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic mytopic1

它将返回每个分区的偏移量,如下所示:

mytopic1:2:828012
mytopic1:1:827041
mytopic1:3:829577
mytopic1:0:829184

这里您可以参考更多细节:https://cwiki.apache.org/confluence/display/kafka/system+tools

相关问题