Кафка |Увеличить коэффициент репликации нескольких тем - PullRequest
0 голосов
/ 04 октября 2018

У меня есть кластер Kafka с 3-мя брокерами со многими темами с коэффициентом репликации 1. Я знаю, что могу увеличить его, передав файл JSON с конфигурацией переназначения разделов в kafka-reassign-partitions.sh.

Моя путаница в том, что я должен пройтиодин файл JSON с деталями переназначения разделов по всем темам или мне нужно создать JSON для каждой темы и запускать их по отдельности?

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Это баланс затрат / рисков.

  1. Переназначение всех тем вместе:

    • Плюсы: простота запуска, одна команда.Отдельное задание для мониторинга
    • Минусы: не много контроля.В зависимости от вашего кластера, многие данные могут быть скопированы в процессе.Хотя вы можете установить квоты переназначения, может быть сложно точно контролировать полосу пропускания, используемую для переназначения.Следовательно, это может повлиять на другие службы, использующие кластер
  2. Переназначение тем в «маленьких» чанках:

    • Плюсы: это позволяет лучше контролировать воздействиебольшое переназначение может иметь
    • Минусы: операторы должны разделить переназначение.Запускайте и отслеживайте каждый блок

В зависимости от размера и использования вашего кластера, вы сможете определить, какой метод подходит вам лучше всего.В занятом кластере я бы рекомендовал установить квоты переназначения и только переназначать темы по частям, так как в противном случае переназначение будет выполняться максимально быстро, и это может сильно повлиять на кластер.Если ваш кластер в основном свежий / неиспользованный, вы можете переназначить все темы одновременно.

0 голосов
/ 04 октября 2018

Вы можете создать несколько .json файлов или использовать один файл, который содержит сведения о переназначении для более чем одной темы:

{
  "version":1,
  "partitions":[
      {"topic":"topic_1","partition":0,"replicas":[0,1]},
      {"topic":"topic_1","partition":1,"replicas":[1,0]}, 
      {"topic":"topic_2","partition":0,"replicas":[0,1]},
      {"topic":"topic_2","partition":1,"replicas":[1,0]}
  ]
}

И затем запустить

./bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file increase-replication-factor.json --execute

Ваши темыдолжен выглядеть следующим образом:

./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic topic_1
Topic:demo-topic        PartitionCount:2        ReplicationFactor:2     Configs:
        Topic: topic_1       Partition: 0    Leader: 0       Replicas: 0,1     Isr: 0,1
        Topic: topic_1       Partition: 1    Leader: 1       Replicas: 1,0     Isr: 1,0

./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic topic_2
Topic:demo-topic        PartitionCount:2        ReplicationFactor:2     Configs:
        Topic: topic_2       Partition: 0    Leader: 0       Replicas: 0,1     Isr: 0,1
        Topic: topic_2       Partition: 1    Leader: 1       Replicas: 1,0     Isr: 1,0

Наконец, наконец, опция --verify может использоваться с инструментом для проверки статуса переназначения раздела.Обратите внимание, что тот же файл расширения-кластера-reassignment.json (используемый с параметром --execute) следует использовать с параметром --verify

> bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file increase-replication-factor.json  --verify
Status of partition reassignment:
Reassignment of partition [topic_1,0] completed successfully
Reassignment of partition [topic_1,1] is in progress
Reassignment of partition [topic_2,0] completed successfully
Reassignment of partition [topic_2,1] completed successfully 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...