使用Admin Client以Java代码与Kafka通信。我们可以针对特定主题执行所有CRUD操作。我们的新要求是获取主题的消息数,主题的所有消息的大小,主题的每个分区的最新偏移量。
输入:经纪人列表和主题 5个分区的预期输出如下所示
{
"total": 10,
"partitions": [
3,
2,
1,
3,
1
],
"offsets": [
10,
9,
9,
11,
12
]
}
总计是消息的大小(以字节为单位)。
尝试使用使用者组ID。在这里,仅当主题被消耗时,我们才能获取数据。无论主题是否被消耗,我们都希望获取主题详细信息。
请提出可能的建议
答案 0 :(得分:2)
使用命令行,您可以通过以下方式收集主题的每个分区的偏移量:
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