【发布时间】:2018-02-14 23:07:18
【问题描述】:
我们在不同的主机上有多个 kafka 消费者。
Consumer-1 (on server-1) consumes data from Topic-1.
Consumer-2 (on server-2) consumes data from Topic-2.
The group.id of Consumer-1 and Consumer-2 are the same.
预计 Consumer-1 和 Consumer-2 可以分开运行,分别处理来自 Topic-1 和 Topic-2 的消息。
但是,我们发现有时当我们重新启动 Consumer-2(在 server-2 上)时,它会尝试获取有关 Topic-1 的元数据并最终失败。如果我们再次重新启动它,它可能会获取有关 Topic-2 的元数据并按预期工作。
我很困惑,发现this page,如果是正确的,主题重新平衡的关键是像 (topic:consumer_group_id) ,为什么它不稳定?
我们使用的是 kafka 版本 0.11.0.1。
【问题讨论】:
-
当您说“当我们重新启动 Consumer-2(在服务器 2 上)时,它将尝试获取有关 Topic-1 的元数据并最终失败”时,这是不是您得到的错误。 ? “获取具有相关 ID {} 的元数据时出错:{}”如果不是,您在失败之前收到的错误是什么?
-
正如帖子中提到的,有 2 个不同的消费者订阅了 2 个不同的主题可以具有相同的组 ID。
-
@AkhilanandBenkalVenkanna 是的,失败前的警告类似于“在获取具有相关 ID {} 的元数据时出错”,所以我可以知道它正在尝试从意外主题中获取数据。
标签: java apache-kafka kafka-producer-api