我需要找到一种方法来向 Kafka 询问一系列主题 . 我知道我可以使用 bin\ 目录中包含的 kafka-topics.sh 脚本来做到这一点 . 有了这个列表,我需要每个主题的所有消费者 . 我找不到该目录中的脚本,也找不到允许我这样做的 kafka-consumer-api 库中的类 .
bin\
kafka-topics.sh
kafka-consumer-api
这背后的原因是我需要弄清楚主题偏移量与消费者偏移量之间的差异 .
有没有办法实现这个目标?或者我是否需要在每个消费者中实现此功能?
Kafka将所有信息存储在zookeeper中 . 您可以在 brokers->topics 下查看所有与主题相关的信息 . 如果您希望以编程方式获取所有主题,可以使用Zookeeper API执行此操作 .
它在下面的链接Tutorialspoint,Zookeeper Programmer guide中有详细解释
使用kafka-consumer-groups.sh
例如
bin/kafka-consumer-groups.sh --list --bootstrap-server localhost:9092 bin/kafka-consumer-groups.sh --describe --group mygroup --bootstrap-server localhost:9092
您可以将此用于0.9.0.0 . 版本 Kafka
./kafka-consumer-groups.sh --list --zookeeper hostname:potnumber
查看您创建的组 . 这将显示所有使用者组名称 .
./kafka-consumer-groups.sh --describe --zookeeper hostname:potnumber --describe --group consumer_group_name
查看详细信息
GROUP, TOPIC, PARTITION, CURRENT OFFSET, LOG END OFFSET, LAG, OWNER
高级别消费者已注册到Zookeeper中,因此您可以从ZK获取列表,类似于 kafka-topics.sh 获取主题列表的方式 . 我不是一种收集所有消费者的方式;发送一些消费请求的任何应用程序实际上都是"consumer",你无法判断它们是否已经完成 .
在消费者方面,有一个JMX metric exposed to monitor the lag . 此外,还有Burrow用于滞后监控 .
4 回答
Kafka将所有信息存储在zookeeper中 . 您可以在 brokers->topics 下查看所有与主题相关的信息 . 如果您希望以编程方式获取所有主题,可以使用Zookeeper API执行此操作 .
它在下面的链接Tutorialspoint,Zookeeper Programmer guide中有详细解释
使用kafka-consumer-groups.sh
例如
您可以将此用于0.9.0.0 . 版本 Kafka
查看您创建的组 . 这将显示所有使用者组名称 .
查看详细信息
高级别消费者已注册到Zookeeper中,因此您可以从ZK获取列表,类似于
kafka-topics.sh
获取主题列表的方式 . 我不是一种收集所有消费者的方式;发送一些消费请求的任何应用程序实际上都是"consumer",你无法判断它们是否已经完成 .在消费者方面,有一个JMX metric exposed to monitor the lag . 此外,还有Burrow用于滞后监控 .