Как перенести тему Kafka, используемую на отдельном сервере Kafka, в кластер Kafka с фактором репликации 2? - PullRequest
0 голосов
/ 29 мая 2019

У меня один сервер Kafka с несколькими производителями и потребителями. Теперь я хочу реализовать кластер Kafka, добавив еще одного брокера. Как я могу сделать это, используя ту же тему с фактором репликации.

1 Ответ

0 голосов
/ 29 мая 2019

Теперь вы переходите в кластер с двумя брокерами 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

Надеюсь, это будет полезно для вас.

...