如何获取正在使用 Confluent_Kafka 收听主题的 consumer.id?
我能够获得消费者群体和主题。但不是消费者姓名/ID。
如何获取正在使用 Confluent_Kafka 收听主题的 consumer.id?
我能够获得消费者群体和主题。但不是消费者姓名/ID。
如果您的消费者正在使用组功能,您可以使用 获取消费者组的列表,AdminClient
然后找到属于该组的每个消费者。它已添加到此提交中。
示例片段
from confluent_kafka.admin import AdminClient
broker = '1.1.1.1:9092' # replace appropriately
a = AdminClient({'bootstrap.servers': broker})
groups = a.list_groups(timeout=10)
print(" {} consumer groups".format(len(groups)))
for g in groups:
print(" \"{}\" with {} member(s), protocol: {}, protocol_type: {}".format(
g, len(g.members), g.protocol, g.protocol_type))
for m in g.members:
print("id {} client_id: {} client_host: {}".format(m.id, m.client_id, m.client_host))
您可能对client_id
区分组中消费者的领域感兴趣。
参考:https ://github.com/confluentinc/confluent-kafka-python/blob/master/examples/adminapi.py