Kafka Mirror Maker: Синхронизация __consumer_offsets дубликатов тем - PullRequest
0 голосов
/ 30 января 2019

В соответствии с решением, упомянутым здесь kafka-mirror-maker-fail-to-реплицировать-потребителя-смещение-тема .Мне удалось без проблем запустить создание зеркала в кластерах DC1 (кластер Live Kafka) и DC2 (кластер Backup Kafka).

Похоже, что он также может синхронизировать тему __consumer_offsets в кластере DC2 из кластера DC1..

Выпуск

Если я закрываю потребителя для DC1 и указываю того же потребителя (тот же group_id) на DC2, он снова читает те же сообщения, даже если производитель зеркал может синхронизироватьсмещения для этой темы и разделов.

Я вижу, что LOG-END-OFFSET отображается правильно, но CURRENT-OFFSET по-прежнему указывает на старую вызывающую LAG.

Пример

  • Mirror Maker все еще работает в DC2.
  • Перед отключением потребителя в DC1

    //DC1  __consumer_offsets topic
    +-----------------------------------------------------------------+
    | TOPIC           PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG  |
    +-----------------------------------------------------------------+
    | gs.suraj.test.1 0          10626           10626           0    |
    | gs.suraj.test.1 2          10619           10619           0    |
    | gs.suraj.test.1 1          10598           10598           0    |
    +-----------------------------------------------------------------+
    
  • Остановить потребителя вDC1

  • Перед запуском потребителя в DC2

    //DC2  __consumer_offsets topic
    +-----------------------------------------------------------------+
    | TOPIC           PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG  |
    +-----------------------------------------------------------------+
    | gs.suraj.test.1 0          9098            10614           1516 |
    | gs.suraj.test.1 2          9098            10614           1516 |
    | gs.suraj.test.1 1          9098            10615           1517 |
    +-----------------------------------------------------------------+
    

Из-за этой задержки, когда я запускаю того же потребителя в DC2 в чтении 4549 сообщенийопять же, что не должно происходить, так как он уже прочитан зафиксирован в DC1и у производителя зеркал есть синхронизация __consumer_offsets темы от DC1 до DC2

Пожалуйста, дайте мне знать, если я что-то здесь упускаю.

...