apache-kafka - 如何让 Kafka 消费者订阅新的分区
问题描述
我有几个 Kafka 消费者订阅了一个主题,需要添加一些分区。我在临时环境中玩耍并添加了一些新分区。我对 Kafka 的理解是它们应该自动重新平衡并订阅新的分区。除了他们没有,重新启动没有帮助。每次我在夜间神奇地完成此操作(现在两次),消费者都会订阅新分区。
如果我在控制台中创建一个新的测试组,它可以很好地订阅新的分区。但是使用控制台中的现有组 id 订阅,重新平衡工作人员但不包括新分区。
为什么他们在创建分区时不订阅?一夜之间发生了什么导致他们开始看到新的分区?
解决方案
默认情况下,客户端(消费者和生产者)每 5 分钟刷新一次元数据。这是由 决定的metadata.max.age.ms
。
在您的示例中,消费者仅在刷新其元数据时才会发现新分区。因此,您需要将此设置设置为较低的值或稍等片刻。
推荐阅读
- r - 如何使用 R 中的 stargazer 包来报告 lm.cluster()
- azure - Azure 服务总线 - 取消的计划消息重新排队
- json - Python 请求 - JSONDecodeError("Expecting value", s, err.value) from None
- java - MapStruct:如何将属性从“java.lang.Object”映射到“java.lang.String”
- html - CSS url() 路径在 Web 服务器时有效,但在本地文件时无效?
- python - 厌倦了多视图多人脸检测
- google-cloud-platform - 如何修复 GCP CommandException 中的错误:不允许跨越提供程序的“生命周期”命令
- java - Java TimerTask 不更新静态字段
- javascript - 为什么这个 axios put 请求没有设置标题
- ios - UserDefaults 在 awakeFromNib 中调用时返回 0 个元素