首页 文章

如何更改 kafka 群集中某个主题的代理数量?

提问于
浏览
0

破碎的主题 cluster1

破碎的主题 cluster2

我有一些 Kafka 主题的问题,但还没有找到答案。

虽然向__confluent.support.metrics 添加更多分区应该不是问题(我知道该怎么做),我想知道是否可以告诉它使用经纪人,这显然是这个主题无法看到的?

此外,我很想理解为什么这些主题只会继承一些代理而不是其集群中所有可用的 5 个代理。

我想解决这些问题。但是我担心,如果我告诉它在经纪人上添加(或使用)分区,主题就不能“看到”,它可能无法工作甚至破坏主题,这将是相当糟糕的。

我如何指导这些主题,有 5 个可用的经纪人?我可以使用其中一个 Kafka 工具吗?

怎么会在第一时间发生这种情况?

为什么__consumer_offsets 主题只“看到”4 个代理而不是像此群集中的所有其他主题一样呢?

仅供参考:我没有设置任何这个,但是我必须 cleanup/revamp 正在运行的集群并且现在卡住了,我以前从未遇到过这类问题

2 回答

  • 0

    发生这种情况的原因是因为__confluent.support.metrics 主题只有一个分区和一个副本。在 5-node 群集中,这意味着您将仅使用群集中 20%的可用代理,这与您发布的图像相对应。具有 replication-factor1 和 1 分区的主题将仅在一个代理上保存数据。

    另一方面,您的__consumer_offsets 主题仅使用 5 个经纪人中的 4 个是不寻常的。我的猜测是你的第五个经纪人在创建__consumer_offsets 时不在线(这是你第一次从任何主题消费时创建的),因此没有在这个经纪人上创建分区。

    但是,这可能没有什么可担心的,因为跨群集的分区的传播通常由 Kafka 本身处理而不是用户问题。没有一个主题“看到”经纪人本身的概念;相反,经纪人保存主题的数据,主题将知道他们所在的经纪人。一个主题通常不需要关注其他经纪人。

  • 0

    使用者偏移量和 Confluent 指标主题都在服务器属性文件中包含行项目,这些行项目确定将使用这些主题创建的配置。

    为了改善这些主题的健康状况,您可以尝试增加复制因子,这会将您的主题分散到更多代理并提供容错功能。另见Kafka Tools Wiki

相关问题