Бөлісу құралы:


Репликация данных из кластера Kafka в Центры событий с помощью Apache Kafka Mirror Maker 2

В этом руководстве показано, как реплицировать данные из существующего кластера Kafka в Центры событий Azure с помощью Mirror Maker 2.

Изображение, показывающее поток событий из Kafka MirrorMaker в Центры событий.

Примечание

Этот пример можно найти на сайте GitHub.

В этом руководстве описано следующее:

  • Создание пространства имен в Центрах событий
  • Настройка или использование существующего кластера Kafka
  • Настройка Kafka Mirror Maker 2
  • Запуск Kafka Mirror Maker 2

Введение

Apache Kafka MirrorMaker 2.0 (MM2) предназначен для упрощения зеркало или репликации разделов из одного кластера Kafka в другой. Mirror Maker использует платформу Kafka Connect для упрощения настройки и масштабирования. Более подробные сведения о средстве Kafka MirrorMaker см. в руководстве по зеркальному отображению Kafka и средству MirrorMaker.

Так как Центры событий Azure совместима с протоколом Apache Kafka, вы можете использовать Mirror Maker 2 для репликации данных между существующим кластером Kafka и пространством имен Центров событий.

Mirror Maker 2 динамически обнаруживает изменения в разделах и обеспечивает синхронизацию свойств исходного и целевого разделов, включая смещения и секции. Его можно использовать для двунаправленной репликации данных между кластером Kafka и пространством имен Центров событий.

Предварительные требования

В рамках этого руководства вам потребуются:

Создание пространства имен Центров событий

Для отправки и получения данных из любой службы Центров событий требуется пространство имен Центров событий. См. раздел Создание концентратора событий для получения инструкций по созданию пространства имен и концентратора событий. Скопируйте строку подключения к Центрам событий для дальнейшего использования.

Клонирование примера проекта

Теперь, когда у вас есть строка подключения к Центрам событий, клонируйте репозиторий Центров событий Azure для Kafka и перейдите в нем к подпапке mirror-maker-2:

git clone https://github.com/Azure/azure-event-hubs-for-kafka.git
cd azure-event-hubs-for-kafka/tutorials/mirror-maker-2

Настройка или использование существующего кластера Kafka

Если у вас нет кластера Kafka, воспользуйтесь кратким руководством по Kafka , чтобы настроить кластер Kafka с нужными параметрами (или использовать существующий кластер Kafka). В целях тестирования можно также создать несколько разделов в только что созданном кластере Kafka и опубликовать в них данные.

Если у вас уже есть кластер Kafka в локальной среде или в управляемой облачной службе Kafka, его можно использовать для репликации существующих данных в Центры событий.

Настройка Kafka Mirror Maker 2

Дистрибутив Apache Kafka поставляется со connect-mirror-maker.sh скриптом, который входит в комплект с библиотекой Kafka, реализующей распределенный кластер Mirror Maker 2. Он управляет рабочими ролей Connect внутри на основе файла конфигурации. Внутренний драйвер MirrorMaker создает и обрабатывает пары каждого соединителя: MirrorSource Connector, MirrorSink Connector, MirrorCheckpoint Connector и MirrorHeartbeat Connector.

  1. Чтобы настроить Mirror Maker 2 для репликации данных, необходимо обновить файл kafka-to-eh-connect-mirror-maker.properties конфигурации Mirror Maker 2, чтобы определить топологию репликации.

  2. В файле конфигурации kafka-to-eh-connect-mirror-maker.properties определите псевдонимы кластера, которые планируется использовать для кластера Kafka (источник) и Центров событий (назначение).

     # cluster aliases 
     clusters = source, destination
    
  3. Затем укажите сведения о подключении для источника, который является кластером Kafka.

     source.bootstrap.servers = your-kafka-cluster-hostname:9092
     #source.security.protocol=SASL_SSL
     #source.sasl.mechanism=PLAIN
     #source.sasl.jaas.config=<replace sasl jaas config of your Kafka cluster>;
    
  4. Укажите сведения о подключении для назначения, которое является созданным пространством имен Центров событий.

     destination.bootstrap.servers = <your-enventhubs-namespace>.servicebus.windows.net:9093
     destination.security.protocol=SASL_SSL
     destination.sasl.mechanism=PLAIN
     destination.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='$ConnectionString' password='<Your Event Hubs namespace connection string.>';
    
  5. Включите поток репликации из исходного кластера Kafka в целевое пространство имен Центров событий.

     source->destination.enabled = true
     source->destination.topics = .*
    
  6. Обновите коэффициент репликации удаленных разделов и внутренних разделов, создаваемых Зеркальной службой в месте назначения.

     replication.factor=3
    
     checkpoints.topic.replication.factor=3
     heartbeats.topic.replication.factor=3
     offset-syncs.topic.replication.factor=3    
    
     offset.storage.replication.factor=3
     status.storage.replication.factor=3
     config.storage.replication.factor=3
    
  7. Затем вы копируете kafka-to-eh-connect-mirror-maker.properties файл конфигурации в каталог конфигурации дистрибутива Kafka и можете запустить скрипт Mirror Maker 2 с помощью следующей команды.

     ./bin/connect-mirror-maker.sh ./config/kafka-to-eh-connect-mirror-maker.properties
    
  8. После успешного выполнения скрипта вы увидите, что разделы и события Kafka реплицируются в пространство имен Центров событий.

  9. Чтобы убедиться, что события отправляются в Центры событий с поддержкой Kafka, проверка статистику входящего трафика в портал Azure или запустить потребителя в Центрах событий.

Примеры

См. следующие примеры на сайте GitHub:

Дальнейшие действия

Дополнительные сведения о концентраторах событий для Kafka см. в следующих статьях: