使用kafka manager或kafka cli减少主题复制因子

ggazkfy8  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(443)

kafka 0.9.0.1中当前为特定主题配置了22个副本。
是否可以将主题的复制因子减少到3?
如何通过kafka cli或kafka manager实现?
我找到了一个方法来增加副本的数量只有在这里

qncylg1j

qncylg1j1#

对。更改(增加或减少)复制因子可通过以下两步过程完成:
首先,需要以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 . 注-the <broker-ids> 最后表示以逗号分隔的代理ID列表,您希望副本存在于这些代理ID上。
运行脚本 kafka-reassign-paritions 并以以下方式提供上述json作为输入:

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

现在,如果您为给定的主题运行descripe命令,您应该会看到根据提供的json减少的副本。
Kafka社区中也有一些工具可以帮助您实现这一点。下面是linkedin创建的一个这样的例子。

相关问题