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.
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.
- W systemie Ubuntu uruchom polecenie
-
Pobieranie i instalowanie archiwum binarnego narzędzia Maven
- W systemie Ubuntu możesz uruchomić polecenie
apt-get install maven
, aby zainstalować narzędzie Maven.
- W systemie Ubuntu możesz uruchomić polecenie
-
Usługa Git
- W systemie Ubuntu możesz uruchomić polecenie
sudo apt-get install git
, aby zainstalować usługę Git.
- W systemie Ubuntu możesz uruchomić polecenie
-
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.
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.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
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>;
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.>';
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 = .*
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
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
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.
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:
Jeśli hostujesz platformę Apache Kafka na platformie Kubernetes przy użyciu operatora CNCF Strimzi, możesz użyć przykładu Strimzi Mirror Maker 2 dla usługi Event Hubs.
Następne kroki
Aby dowiedzieć się więcej o usłudze Event Hubs dla platformy Kafka, zobacz następujące artykuły:
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla