首页 > 解决方案 > 如何让 Kafka 消费者订阅新的分区

问题描述

我有几个 Kafka 消费者订阅了一个主题,需要添加一些分区。我在临时环境中玩耍并添加了一些新分区。我对 Kafka 的理解是它们应该自动重新平衡并订阅新的分区。除了他们没有,重新启动没有帮助。每次我在夜间神奇地完成此操作(现在两次),消费者都会订阅新分区。

如果我在控制台中创建一个新的测试组,它可以很好地订阅新的分区。但是使用控制台中的现有组 id 订阅,重新平衡工作人员但不包括新分区。

为什么他们在创建分区时不订阅?一夜之间发生了什么导致他们开始看到新的分区?

标签: apache-kafkakafka-consumer-api

解决方案


默认情况下,客户端(消费者和生产者)每 5 分钟刷新一次元数据。这是由 决定的metadata.max.age.ms

在您的示例中,消费者仅在刷新其元数据时才会发现新分区。因此,您需要将此设置设置为较低的值或稍等片刻。


推荐阅读