Запуск двух экземпляров MirrorMaker 2.0 останавливает репликацию данных для новых тем

#apache-kafka #apache-kafka-mirrormaker

#apache-kafka #apache-kafka-mirrormaker

Вопрос:

Мы попробовали приведенный ниже сценарий с использованием mirror-maker 2.0 и хотим знать, ожидается ли вывод второго сценария.

Сценарий 1.) Мы запустили один экземпляр mirror-maker 2.0, используя приведенные ниже свойства и команду start.

 clusters=a,b
tasks.max=10
a.bootstrap.servers=kf-test-cluster-a:9092
a.config.storage.replication.factor=1
a.offset.storage.replication.factor=1
a.security.protocol=PLAINTEXT
a.status.storage.replication.factor=1
b.bootstrap.servers=kf-test-cluster-b:9092
b.config.storage.replication.factor=1
b.offset.storage.replication.factor=1
b.security.protocol=PLAINTEXT
b.status.storage.replication.factor=1
a->b.checkpoints.topic.replication.factor=1
a->b.emit.checkpoints.enabled=true
a->b.emit.hearbeats.enabled=true
a->b.enabled=true
a->b.groups=group1|group2|group3
a->b.heartbeats.topic.replication.factor=1
a->b.offset-syncs.topic.replication.factor=1
a->b.refresh.groups.interval.seconds=30
a->b.refresh.topics.interval.seconds=10
a->b.replication.factor=2
a->b.sync.topic.acls.enabled=false
a->b.topics=.*
  

Команда запуска: /usr/bin/connect-mirror-maker.sh connect-mirror-maker.properties amp;

Проверка: создал новый раздел «тест» в исходном кластере (a), создал данные для раздела в исходном кластере и запустил потребитель в целевом кластере (b), раздел «a.test» для проверки репликации данных.

Наблюдение: все работало нормально, как и ожидалось.

Сценарий 2.) Запустил еще один экземпляр MirrorMaker 2.0, используя те же свойства, что и упомянутые выше.

Команда запуска: /usr/bin/connect-mirror-maker.sh connect-mirror-maker.properties amp;

Проверка: создал еще один раздел «test2» в исходном кластере, передал данные в раздел в исходном кластере и запустил consumer в целевом кластере (b), раздел «a.test2» для проверки репликации данных.

Наблюдение: MM2 смог реплицировать тему в целевом кластере, a.test2 присутствовал в целевом кластере b, но потребитель не получил ни одной записи для использования.

В более новых журналах экземпляров mirror-maker 2.0 после репликации темы не была перезапущена задача mirror-sourceconnector, которая перезапускалась в одном экземпляре после репликации темы.

ПРИМЕЧАНИЕ: журналы ошибок не просматривались.

Ответ №1:

Я наблюдал такое же поведение, ваши сообщения, скорее всего, реплицируются, вы можете проверить это, проверив смещение вашей группы потребителей, проблема, скорее всего, в том, что ваше смещение задержки равно 0, что означает, что ваш потребитель предполагает, что все предыдущие сообщения были использованы. Вы можете сбросить смещение или прочитать с начала. В идеале, сердцебиение контрольной точки должно содержать последнее смещение, но в настоящее время я считаю, что оно пустое, хотя, начиная с Kafka 2.7, репликация сердцебиения контрольной точки должна быть автоматической