Udostępnij za pośrednictwem


Replikowanie danych z klastra platformy Kafka do usługi Event Hubs przy użyciu usługi Apache Kafka Mirror Maker 2

W tym samouczku pokazano, jak replikować dane z istniejącego klastra platformy Kafka do Azure Event Hubs przy użyciu usługi Mirror Maker 2.

Obraz przedstawiający przepływ zdarzeń z narzędzia Kafka MirrorMaker do usługi Event Hubs.

Uwaga

Ten przykład jest dostępny w witrynie GitHub

Ten samouczek zawiera informacje na temat wykonywania następujących czynności:

  • Tworzenie przestrzeni nazw usługi Event Hubs
  • Konfigurowanie istniejącego klastra platformy Kafka lub korzystanie z niego
  • Konfigurowanie usługi Kafka Mirror Maker 2
  • Uruchamianie usługi Kafka Mirror Maker 2

Wprowadzenie

Rozwiązanie Apache Kafka MirrorMaker 2.0 (MM2) ma na celu ułatwienie dublowania lub replikowania tematów z jednego klastra platformy Kafka do innego. Usługa Mirror Maker używa platformy Kafka Connect, aby uprościć konfigurację i skalowanie. Aby uzyskać bardziej szczegółowe informacje na temat narzędzia Kafka MirrorMaker, zobacz przewodnik Po dublowaniu/dublowaniu platformy Kafka.

Ponieważ Azure Event Hubs jest zgodny z protokołem Apache Kafka, można użyć usługi Mirror Maker 2 do replikowania danych między istniejącym klastrem platformy Kafka i przestrzenią nazw usługi Event Hubs.

Usługa Mirror Maker 2 dynamicznie wykrywa zmiany tematów i zapewnia synchronizowanie właściwości tematu źródłowego i docelowego, w tym przesunięcia i partycji. Może służyć do replikacji danych dwukierunkowo między klastrem platformy Kafka i przestrzenią nazw usługi Event Hubs.

Wymagania wstępne

Aby ukończyć kroki tego samouczka, upewnij się, że dysponujesz następującymi elementami:

  • Zapoznaj się z artykułem Usługa Event Hubs dla platformy Apache Kafka.
  • Subskrypcja platformy Azure. Jeśli go nie masz, przed rozpoczęciem utwórz bezpłatne konto .
  • Java Development Kit (JDK) 1.7+
    • W systemie Ubuntu uruchom polecenie apt-get install default-jdk, aby zainstalować zestaw JDK.
    • Upewnij się, że zmienna środowiskowa JAVA_HOME wskazuje folder, w którym zainstalowano zestaw JDK.
  • Pobieranie i instalowanie archiwum binarnego narzędzia Maven
    • W systemie Ubuntu możesz uruchomić polecenie apt-get install maven, aby zainstalować narzędzie Maven.
  • Usługa Git
    • W systemie Ubuntu możesz uruchomić polecenie sudo apt-get install git, aby zainstalować usługę Git.
  • Dystrybucja platformy Apache Kafka
    • Pobierz preferowaną dystrybucję platformy Apache Kafka (która powinna zawierać dystrybucję usługi Mirror Maker 2).

Tworzenie przestrzeni nazw usługi Event Hubs

Przestrzeń nazw usługi Event Hubs jest wymagana do wysyłania i odbierania zdarzeń z dowolnej usługi Event Hubs. Zobacz Tworzenie centrum zdarzeń, aby uzyskać instrukcje dotyczące tworzenia przestrzeni nazw i centrum zdarzeń. Pamiętaj, aby skopiować parametry połączenia usługi Event Hubs do późniejszego użycia.

Klonowanie projektu przykładowego

Teraz, gdy masz parametry połączenia usługi Event Hubs, sklonuj repozytorium Azure Event Hubs dla platformy Kafka i przejdź do podfolderumirror-maker-2:

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

Konfigurowanie istniejącego klastra platformy Kafka lub korzystanie z niego

Jeśli nie masz istniejącego klastra platformy Kafka, skorzystaj z przewodnika Szybki start platformy Kafka , aby skonfigurować klaster Platformy Kafka z żądanymi ustawieniami (lub użyć istniejącego klastra platformy Kafka). Na potrzeby testowania można również utworzyć kilka tematów w nowo utworzonym klastrze platformy Kafka i opublikować do nich dane.

Jeśli masz już istniejący klaster Platformy Kafka lokalnie lub w zarządzanej usłudze w chmurze platformy Kafka, możesz użyć jej do replikowania istniejących danych do usługi Event Hubs.

Konfigurowanie usługi Kafka Mirror Maker 2

Dystrybucja platformy Apache Kafka jest dostarczana ze skryptem connect-mirror-maker.sh dołączonym do biblioteki platformy Kafka, która implementuje rozproszony klaster usługi Mirror Maker 2. Zarządza on procesami roboczymi programu Connect wewnętrznie na podstawie pliku konfiguracji. Sterownik MirrorMaker wewnętrznie tworzy i obsługuje pary każdego łącznika — MirrorSource Connector, MirrorSink Connector, MirrorCheckpoint Connector i MirrorHeartbeat Connector.

  1. Aby skonfigurować usługę Mirror Maker 2 do replikacji danych, należy zaktualizować plik kafka-to-eh-connect-mirror-maker.properties konfiguracji usługi Mirror Maker 2, aby zdefiniować topologię replikacji.

  2. kafka-to-eh-connect-mirror-maker.properties W pliku konfiguracji zdefiniuj aliasy klastra, które mają być używane dla klastra kafka (źródła) i usługi Event Hubs (miejsce docelowe).

     # cluster aliases 
     clusters = source, destination
    
  3. Następnie określ informacje o połączeniu dla źródła, czyli klastra platformy 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. Określ informacje o połączeniu dla miejsca docelowego, czyli utworzonej przestrzeni nazw usługi Event Hubs.

     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. Włącz przepływ replikacji ze źródłowego klastra Platformy Kafka do docelowej przestrzeni nazw usługi Event Hubs.

     source->destination.enabled = true
     source->destination.topics = .*
    
  6. Zaktualizuj współczynnik replikacji tematów zdalnych i tematów wewnętrznych tworzonych w usłudze Mirror Maker w miejscu docelowym.

     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. Następnie skopiujesz kafka-to-eh-connect-mirror-maker.properties plik konfiguracji do katalogu konfiguracji dystrybucji platformy Kafka i możesz uruchomić skrypt Mirror Maker 2 przy użyciu następującego polecenia.

     ./bin/connect-mirror-maker.sh ./config/kafka-to-eh-connect-mirror-maker.properties
    
  8. Po pomyślnym wykonaniu skryptu powinny zostać wyświetlone tematy i zdarzenia platformy Kafka, które są replikowane do przestrzeni nazw usługi Event Hubs.

  9. Aby sprawdzić, czy zdarzenia są tworzone w usłudze Event Hubs z obsługą platformy Kafka, zapoznaj się ze statystykami ruchu przychodzącego w Azure Portal lub uruchom użytkownika względem usługi Event Hubs.

Przykłady

Zapoznaj się z następującymi przykładami w witrynie GitHub:

Następne kroki

Aby dowiedzieć się więcej o usłudze Event Hubs dla platformy Kafka, zobacz następujące artykuły: