【问题标题】:Reduce topic replication factor with Kafka manager or Kafka cli使用 Kafka 管理器或 Kafka cli 减少主题复制因子
【发布时间】:2021-02-07 21:23:44
【问题描述】:

目前在 Kafka 0.9.0.1 中为特定主题配置了 22 个副本。

是否可以将主题的复制因子降低到3?

如何通过 Kafka CLI 或 Kafka Manager 进行操作?

我找到了一种只增加副本数的方法here

【问题讨论】:

  • 我猜你提到的链接中的解决方案,你也可以应用减少复制次数。

标签: apache-kafka apache-zookeeper yahoo-kafka-manager


【解决方案1】:

是的。可以使用以下两步过程更改(增加或减少)复制因子:

  1. 首先,您需要以 json 文件的形式为给定主题创建一个分区分配结构。这是一个例子:

    {
     "version":1,
     "partitions":[
          {"topic":"<topic-name>","partition":0,"replicas":[<broker-ids>]},
          {"topic":"<topic-name","partition":1,"replicas":[<broker-ids>]},
          ...
          {"topic":"<topic-name","partition":n,"replicas":[<broker-ids>]},
     ]
    }
    

    以任何名称保存此文件。假设 - decrease-replication-factor.json注意 - 最后的 &lt;broker-ids&gt; 代表您希望副本存在的代理 ID 的逗号分隔列表。

  2. 运行脚本kafka-reassign-paritions,并通过以下方式提供上述json作为输入:

    `kafka-reassign-partitions --zookeeper <zookeeper-server-list>:2181 
    --reassignment-json-file decrease-replication-factor.json --execute`
    

现在,如果您对给定主题运行 describe 命令,您应该会根据提供的 json 看到减少的副本。

Kafka 社区还创建了一些工具可以帮助您实现这一目标。 Here is one such example 由 LinkedIn 创建。

【讨论】:

    猜你喜欢
    • 2020-05-30
    • 2020-03-07
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 2016-01-10
    • 2015-03-22
    • 1970-01-01
    • 2020-11-04
    相关资源
    最近更新 更多