【问题标题】:How to list Kafka consumer group using python如何使用 python 列出 Kafka 消费者组
【发布时间】:2019-02-04 10:06:50
【问题描述】:

我想用 python 获取 Kafka 消费者组列表,但我做不到。

我使用zookeeper python客户端(kazoo)但消费者组列表为空,因为这种方法适用于老消费者,我们没有使用老消费者。

如何使用 python 代码获取消费者组列表?

./kafka-consumer-groups.sh  -bootstrap-server localhost:9092 -list

【问题讨论】:

    标签: python apache-kafka kafka-consumer-api


    【解决方案1】:

    您可以通过使用kafka-python 模块来做到这一点。

    from kafka import KafkaAdminClient
    client = KafkaAdminClient(bootstrap_servers="localhost:9092")
    for group in client.list_consumer_groups():
        print(group[0])
    

    【讨论】:

      【解决方案2】:

      您可以使用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)
      

      【讨论】:

      • 是否可以列出给定主题的消费者组。我无法获取消费者组的主题详细信息
      【解决方案3】:

      KIP-222 最近被引入以使 Java 客户端能够检索所有消费者组。也许需要更多时间让 librdkafka 或 python 客户端支持这一点。详情见this issue

      【讨论】:

      • 除了基于 Confluent librd 的库之外,还有其他 Python 库
      猜你喜欢
      • 2022-07-07
      • 1970-01-01
      • 1970-01-01
      • 2017-02-01
      • 1970-01-01
      • 2020-09-19
      • 2017-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多