【问题标题】:Unable to describe Kafka Streams Consumer Group无法描述 Kafka Streams 消费者组
【发布时间】:2020-08-14 22:07:01
【问题描述】:

我想要实现的是确保我的 Kafka 流消费者没有延迟。

我有一个简单的 Kafka 流应用程序,它以 GlobalKTable 的形式将一个主题具体化为存储。

当我尝试通过命令在 Kafka 上描述消费者时:

kafka-consumer-groups --bootstrap-server localhost:9092 --describe --group my-application-id

我看不到任何结果。而且也没有错误。当我列出所有消费者时:

kafka-consumer-groups --bootstrap-server localhost:9092 --describe --all-groups

我的应用程序使用者已正确列出。

知道在哪里可以找到我无法描述消费者的其他信息吗? (可以正确描述写入主题的任何其他 Kafka 流消费者。)

【问题讨论】:

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


    【解决方案1】:

    如果您的应用程序将主题具体化为GlobalKTable,则不会形成消费者组。在内部,“全局消费者”不使用subscribe(),而是使用assign(),并且没有配置消费者group.id(您可以从日志中验证)并且没有提交偏移量。

    原因是,所有应用程序实例都需要消耗所有主题分区(即广播模式)。但是,消费者组的设计使得不同的实例读取同一主题的不同分区。此外,对于每个消费者组,每个分区只能提交一个偏移量 - 但是,如果多个实例读取同一分区并使用相同的 group.id 提交偏移量,则提交将相互覆盖。

    因此,在“广播”数据时使用消费者组是行不通的。

    但是,所有消费者都应该公开“滞后”指标 records-lag-maxrecords-lag(参见 https://kafka.apache.org/documentation/#consumer_fetch_monitoring)。因此,您应该能够通过 JMX 连接以监控延迟。 Kafka Streams 也通过KafkaStreams#metrics() 包含客户端指标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-30
      • 1970-01-01
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      • 2019-11-21
      • 2019-08-27
      相关资源
      最近更新 更多