python - Python confluent_kafka - 列出当前正在收听主题的所有消费者
问题描述
如何获取正在使用 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
推荐阅读
- apache-flink - Flink 是否可以决定将哪些指标发送到 Graphite?
- node.js - Nock 不拦截请求 - 错误:getaddrinfo ENOTFOUND
- ansible - 运行时主机之间的ansible共享变量
- javascript - 迭代树序列化函数
- shopify - 在 0 个频道和应用程序中的 0 个上可用,但它在 restapi 中列出,为什么?
- scala - Scala中的SparkSession版本问题
- machine-learning - “学习率预热”是什么意思?
- typescript - 带有 Typescript 的 Axios 拦截器
- cas - 客户端如何使用更高的 cas 协议接收服务器传递的属性?
- node.js - 检索 Linkedin 用户的信息