只读模式下的 Kafka 代理



我有 3 个代理 Kafka 集群,我正在寻找的是将任何 1 个代理设置为仅就绪模式。 我确实检查了 Kafka 文档,但没有找到任何配置来执行此操作。

有什么办法可以做到这一点吗?

更新

我的用例:

当前状态: 我有一个在正常状态下运行的 3 个代理 kafka 集群。

要实现的目标:我想更新所有 3 个代理的硬件。

我正在尝试什么

  • 启动 3 个新代理,并让他们加入集群(6 个集群(
  • 使用重新分配分区工具将数据从旧代理迁移到新代理
  • 一旦成功完成上述操作,则终止旧的3个经纪人

我确实验证了这一点,并且它工作正常,我可以看到我的所有数据都成功移动到新的经纪人。

. .

挑战是什么

我确实有客户端(生产者和消费者(访问此集群。我希望上述活动是非停机的(我的意思是我不应该丢失任何客户端数据,现有客户端也应该能够访问服务(

我目前正在挖掘的事情是 - 如果客户端在数据迁移过程中同时请求创建新主题怎么办。

这会发生吗?

新主题的分区可能会转到旧代理,并且由于正在进行数据重新分配,因此不会重新分配此主题。(我知道它也可以转到新代理,但是如果所有分区都分配给旧代理怎么办(

因此,如果我终止旧经纪人,那么我会丢失新创建的主题吗?

因此

所以这就是为什么我正在寻找一种方法 - 通过这种方法,我可以确保将新主题的分区放置在新代理中(类似于将旧代理置于只读模式(

不能将代理设置为只读模式。 Kafka 代理不支持只读模式。

最新更新