本文完全參考官網(wǎng):
官網(wǎng)鏈接:https://kafka.apache.org/21/documentation.html#basic_ops_increase_replication_factor
例如,以下示例將主題foo的分區(qū)0的復(fù)制因子從1增加到3。在增加復(fù)制因子之前往核,該分區(qū)的唯一副本存在于broker.id為5的節(jié)點(diǎn)上屑埋,我們將在broker.id為6和7的節(jié)點(diǎn)上各增加一個(gè)副本寞忿。
第一步先創(chuàng)建一個(gè)Json文件品追,格式如下:
>cat increase-replication-factor.json
{"version":1,
"partitions":[{"topic":"foo","partition":0,"replicas":[5,6,7]}]}
然后,將json文件與--execute選項(xiàng)一起使用以開(kāi)始重新分配過(guò)程:
> bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 \
--reassignment-json-file increase-replication-factor.json --execute
運(yùn)行結(jié)果:
Current partition replica assignment
{"version":1,
"partitions":[{"topic":"foo","partition":0,"replicas":[5]}]}
Save this to use as the --reassignment-json-file option during rollback
Successfully started reassignment of partitions
{"version":1,
"partitions":[{"topic":"foo","partition":0,"replicas":[5,6,7]}]}
驗(yàn)證結(jié)果:
> bin/kafka-topics.sh --zookeeper localhost:2181 --topic foo --describe
Topic:foo PartitionCount:1 ReplicationFactor:3 Configs:
Topic: foo Partition: 0 Leader: 5 Replicas: 5,6,7 Isr: 5,6,7
多分區(qū)修改副本數(shù)示例:
{"version":1,
"partitions":[{"topic":"event","partition":0,"replicas":[530,531]},
{"topic":"event","partition":1,"replicas":[531,528]},
{"topic":"event","partition":2,"replicas":[528,529]}
]
}