kafka 0.9.0.1中当前为特定主题配置了22个副本。是否可以将主题的复制因子减少到3?如何通过kafka cli或kafka manager实现?我找到了一个方法来增加副本的数量只有在这里
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作为输入:
decrease-replication-factor.json
<broker-ids>
kafka-reassign-paritions
`kafka-reassign-partitions --zookeeper <zookeeper-server-list>:2181 --reassignment-json-file decrease-replication-factor.json --execute`
现在,如果您为给定的主题运行descripe命令,您应该会看到根据提供的json减少的副本。Kafka社区中也有一些工具可以帮助您实现这一点。下面是linkedin创建的一个这样的例子。
1条答案
按热度按时间qncylg1j1#
对。更改(增加或减少)复制因子可通过以下两步过程完成:
首先,需要以json文件的形式为给定主题创建分区分配结构。举个例子:
用任何名称保存此文件。比如说-
decrease-replication-factor.json
. 注-the<broker-ids>
最后表示以逗号分隔的代理ID列表,您希望副本存在于这些代理ID上。运行脚本
kafka-reassign-paritions
并以以下方式提供上述json作为输入:现在,如果您为给定的主题运行descripe命令,您应该会看到根据提供的json减少的副本。
Kafka社区中也有一些工具可以帮助您实现这一点。下面是linkedin创建的一个这样的例子。