Привет Я сталкиваюсь со странной проблемой с увеличением коэффициента репликации Кафки при выполнении шагов, описанных в этом документе: https://kafka.apache.org/documentation/#basic_ops_increase_replication_factor
Симптом выглядит так, что увеличение коэффициента реплики не работает вообще.
Пожалуйста, помогите
Моя настройка Kafka:
Версия Kafka: kafka_2.12-2.1.0
Сервер: имя хоста server-0 (192.168.0.1)
- Идентификатор брокера Kafka: 0
- Порт Kafka: 9092
- Порт Zookeeper: 2181
Сервер: имя хоста сервер-1 (192.168.0.2)
- Идентификатор брокера Kafka: 1
- Порт Kafka: 9092
- Нет Zookeeper на сервере-1
Темы
- Количество тем: 1
- Название темы: DATA
- Количество разделов: 1
Тема DATA создается с репликой-фактором 1 с сервера 0 только сначала
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic DATA
результат выглядит как
bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic DATA
Topic:DATA PartitionCount:1 ReplicationFactor:1 Configs:
Topic: DATA Partition: 0 Leader: 0 Replicas: 0 Isr: 0
после создания темы я выдал несколько тестовых сообщений
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic DATA
message 1
message 2
Затем фактор реплики для темы DATA увеличивается до 2 путем выполнения команд только на сервере 0
ниже файла jsonиспользуется с Kafka-reassign-partitions.sh для увеличения коэффициента репликации
{
"version":1,
"partitions":[ {"topic":"DATA","partition":0,"replicas":[0,1]} ]
}
командной строки:
bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file topics-to-expand.json --execute
НаПоверхность, результат выглядит хорошо, описывая темы
bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic DATA
Topic:DATA PartitionCount:1 ReplicationFactor:2 Configs:
Topic: DATA Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0,1
Я подготовил еще несколько тестовых сообщений здесь
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic DATA
message 3
message 4
Однако проблема возникает, когда я пытался провести тестирование с сервера-1
Теперь я убил процесс kafka с сервера-0
kill -9 [kafka-pid]
Проблемапроисходит, когда я запускаю консоль-потребителя с сервера-1
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic DATA --from-beginning
Нет сообщений, и консоль просто блокируется на пустом экране.
Я думаюсогласно документу, я должен видеть сообщения, потому что реплика синхронизирована?Нет?
Описание темы показывает
bin/kafka-topics.sh --zookeeper server-0:2181 --describe --topic DATA
Topic:DATA PartitionCount:1 ReplicationFactor:2 Configs:
Topic: DATA Partition: 0 Leader: 1 Replicas: 0,1 Isr: 1
Затем я перезапустил процесс kafka с сервера-0, экран консоли потребителя внезапно отображает все сообщения вhistory
message 1
message 2
message 3
message 4
Похоже, что потребитель с сервера-1 не использовал локально данные с сервера-1, поскольку данные тем не реплицируются на сервер-1.Вместо этого он по-прежнему ожидает возвращения сервера 0 для предоставления данных.Даже сервер-1 помечен как лидер.
Может кто-нибудь повторить мою проблему?Я хочу прикрепить свои свойства, но я не знаю, как прикрепить файлы в stackoverflow, извините за это ...