我想使用python获取Kafka消费者组列表,但我不能。
我使用过Zookeeper的python客户端(kazoo),但是消费者组列表为空,因为这种方法适用于旧消费者,而我们没有使用旧消费者。
如何获取带有python代码的使用者组列表?
./kafka-consumer-groups.sh -bootstrap-server localhost:9092 -list
答案 0 :(得分:3)
您可以使用kafka-python轻松列出消费者组。
只需将ListGroupsRequest
发送到集群中的任何代理。
例如:
from kafka import BrokerConnection
from kafka.protocol.admin import *
import socket
bc = BrokerConnection('localhost', 9092, socket.AF_INET)
bc.connect_blocking()
list_groups_request = ListGroupsRequest_v1()
future = bc.send(list_groups_request)
while not future.is_done:
for resp, f in bc.recv():
f.success(resp)
for group in future.value.groups:
print(group)
答案 1 :(得分:0)
KIP-222,以使Java客户端能够检索所有使用者组。可能需要更多时间让librdkafka或python客户端支持此功能。查看this issue中的详细信息。
答案 2 :(得分:0)
您只需使用 kafka-python 模块即可做到这一点。
from kafka import KafkaAdminClient
client = KafkaAdminClient(bootstrap_servers="localhost:9092")
for group in client.list_consumer_groups():
print(group[0])