Теперь вы переходите в кластер с двумя брокерами kafka, затем вам нужно увеличить количество разделов до двух, используя следующие команды:
kafka-topics --topic my-topic --alter --partitions 2 --zookeeper zoo1
# Наблюдать за разделами с номерами разделов 2 и RF: 1
kafka-topics --topic my-topic --describe --zookeeper zoo1
Topic:my-topic PartitionCount:2 ReplicationFactor:1 Configs:
Topic: my-topic Partition: 0 Leader: 0 Replicas: 1 Isr: 0
Topic: my-topic Partition: 1 Leader: 2 Replicas: 1 Isr: 1
Увеличение коэффициента репликации существующей темы очень просто. Нужно указать дополнительные реплики в json-файле пользовательского переназначения и использовать его с параметром --execute.
Создать увеличение-replication-factor.json
{"version":1,
"partitions":[
{"topic":"my-topic","partition":0,"replicas":[0,1]},
{"topic":"my-topic","partition":1,"replicas":[0,1]}
]}
Выполните следующую команду
kafka-reassign-partitions --zookeeper localhost:2181 --reassignment-json-file increase-replication-factor.json --execute
Вы можете проверить реплики, используя следующую команду.
kafka-topics --zookeeper localhost:2181 --topic my-topic --describe
Topic: my-topic Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0,1
Topic: my-topic Partition: 1 Leader: 1 Replicas: 0,1 Isr: 0,1
Я бы предложил вамперейти по следующей ссылке, чтобы перераспределить данные в двух разделах одинаково.
https://labs.tabmo.io/rebalancing-kafkas-partitions-803918d8d244 https://kafka.apache.org/documentation/#basic_ops_increase_replication_factor
Надеюсь, это будет полезно для вас.