感谢您提出这个问题。
所有消费者配置,如消费者组ID,哪个消费者订阅了哪个主题存储在zookeeper中。
运行以下命令以连接到 Zookeeper
./bin/zookeeper-shell localhost:2181
然后运行
ls /消费者
您将获得所有存在的消费者群体。如果你不提供消费组。 Kafka 会随机分配消费者组。对于控制台消费者,它将分配 console-consumer-XXXXX id
你可以从python sn-p下面获取所有的消费者组
安装zookeeper python client
from kazoo.client import KazooClient
zk = KazooClient(hosts='127.0.0.1:2181')
zk.start()
# get all consumer groups
consumer_groups = zk.get_children("/consumers")
print("There are %s consumer group(s) with names %s" % (len(consumer_groups), consumer_groups))
# get all consumers in group
for consumer_group in consumer_groups:
consumers = zk.get_children("/consumers/"+consumer_group)
print("There are %s consumers in %s consumer group. consumer are : %s" % (len(consumers), consumer_group, consumers))
获取连接到某个主题的消费者或消费者组。
获取/consumers/consumergroup_id/ids/consumer_id/
会给你像
这样的输出
{"version":1,"subscription":{"test":1},"pattern":"white_list","timestamp":"1514218381246"}
订阅对象下消费者订阅的所有主题。根据您的用例实现逻辑
谢谢