Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku przedstawiono sposób replikacji brokera Kafka w usłudze Azure Event Hubs przy użyciu Kafka Mirror Maker 1.
Uwaga
Ten przykład jest dostępny w witrynie GitHub
Uwaga
Ten artykuł zawiera odwołania do terminu, którego firma Microsoft już nie używa. Po usunięciu terminu z oprogramowania usuniemy go z tego artykułu.
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Tworzenie przestrzeni nazw usługi Event Hubs
- Klonowanie projektu przykładowego
- Konfigurowanie klastra platformy Kafka
- Konfigurowanie narzędzia Kafka MirrorMaker
- Uruchamianie narzędzia Kafka MirrorMaker
Wprowadzenie
W tym samouczku pokazano, jak Event Hub i narzędzie Kafka MirrorMaker mogą zintegrować istniejącą pipeline Kafka z platformą Azure przez "replikowanie" strumienia danych wejściowych Kafka w usłudze Event Hubs, co umożliwia integrację strumieni Apache Kafka przy użyciu kilku wzorców federacyjnych.
Punkt końcowy platformy Kafka usługi Azure Event Hubs umożliwia łączenie się z usługą Azure Event Hubs przy użyciu protokołu Kafka (czyli klientów platformy Kafka). Wprowadzając minimalne zmiany w aplikacji platformy Kafka, możesz nawiązać połączenie z usługą Azure Event Hubs i korzystać z zalet ekosystemu platformy Azure. Usługa Event Hubs obsługuje obecnie protokół platformy Apache Kafka w wersji 1.0 lub nowszej.
Narzędzie MirrorMaker 1 platformy Apache Kafka można używać jednokierunkowo z platformy Apache Kafka do usługi Event Hubs. MirrorMaker 2 może być używany w obu kierunkach, ale zarówno MirrorCheckpointConnector
MirrorHeartbeatConnector
, które można skonfigurować w MirrorMaker 2, muszą wskazywać na brokera Apache Kafka, a nie na Event Hubs. W tym samouczku przedstawiono konfigurowanie narzędzia MirrorMaker 1.
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 Azure. Jeśli nie masz subskrypcji, przed rozpoczęciem utwórz bezpłatne konto.
-
Zestaw do Rozwoju Javy (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
-
Pobierz i zainstaluj archiwum binarnego 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
Tworzenie przestrzeni nazw usługi Event Hubs
Do wysyłania i odbierania zdarzeń w usłudze Event Hubs wymagana jest odpowiednia przestrzeń nazw. Aby uzyskać instrukcje dotyczące tworzenia przestrzeni nazw i centrum zdarzeń, zobacz Tworzenie 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 Usługi Azure Event Hubs dla platformy Kafka i przejdź do podfolderumirror-maker
:
git clone https://github.com/Azure/azure-event-hubs-for-kafka.git
cd azure-event-hubs-for-kafka/tutorials/mirror-maker
Konfigurowanie klastra platformy Kafka
Skorzystaj z przewodnika Szybki start platformy Kafka, aby skonfigurować klaster z żądanymi ustawieniami (lub użyć istniejącego klastra platformy Kafka).
Konfigurowanie narzędzia Kafka MirrorMaker
Narzędzie Kafka MirrorMaker umożliwia "dublowanie" strumienia. Biorąc pod uwagę źródłowe i docelowe klastry platformy Kafka, funkcja MirrorMaker zapewnia, że wszystkie komunikaty wysyłane do klastra źródłowego i docelowego są odbierane zarówno przez klastry źródłowe, jak i docelowe. W tym przykładzie pokazano, jak odzwierciedlać źródłowy klaster Kafka w docelowym centrum zdarzeń. Ten scenariusz może służyć do wysyłania danych z istniejącego potoku Kafka do Event Hubs bez przerywania przepływu danych.
Aby uzyskać bardziej szczegółowe informacje na temat narzędzia Kafka MirrorMaker, zobacz przewodnik dotyczący replikacji/mirrorowania platformy Kafka.
Aby skonfigurować Kafka MirrorMaker, należy wskazać klaster Kafka jako jego odbiorcę/źródło oraz Event Hub jako jego producenta/miejsce docelowe.
Konfiguracja konsumenta
Zaktualizuj plik source-kafka.config
konfiguracji odbiorcy, który informuje mirrorMaker o właściwościach źródłowego klastra Kafka.
source-kafka.config
bootstrap.servers={SOURCE.KAFKA.IP.ADDRESS1}:{SOURCE.KAFKA.PORT1},{SOURCE.KAFKA.IP.ADDRESS2}:{SOURCE.KAFKA.PORT2},etc
group.id=example-mirrormaker-group
exclude.internal.topics=true
client.id=mirror_maker_consumer
Konfiguracja producenta
Teraz zaktualizuj plik konfiguracji producenta mirror-eventhub.config
, który informuje MirrorMaker o wysyłaniu zduplikowanych (lub "mirrorowanych") danych do usługi Event Hubs. W szczególności zmień bootstrap.servers
i sasl.jaas.config
tak, aby wskazywały na punkt końcowy usługi Event Hubs Kafka. Usługa Event Hubs wymaga bezpiecznej komunikacji (SASL), która jest osiągana przez ustawienie trzech ostatnich właściwości w następującej konfiguracji:
mirror-eventhub.config
bootstrap.servers={YOUR.EVENTHUBS.FQDN}:9093
client.id=mirror_maker_producer
#Required for Event Hubs
sasl.mechanism=PLAIN
security.protocol=SASL_SSL
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="{YOUR.EVENTHUBS.CONNECTION.STRING}";
Ważne
Zastąp {YOUR.EVENTHUBS.CONNECTION.STRING}
łańcuchem połączenia dla przestrzeni nazw usługi Event Hubs. Aby uzyskać instrukcje dotyczące uzyskania ciągu połączenia, zobacz Uzyskiwanie ciągu połączenia usługi Event Hubs. Oto przykładowa konfiguracja: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";
Uruchamianie narzędzia Kafka MirrorMaker
Uruchom skrypt Kafka MirrorMaker z katalogu głównego platformy Kafka przy użyciu nowo zaktualizowanych plików konfiguracji. Pamiętaj, aby skopiować pliki konfiguracji do katalogu głównego platformy Kafka lub zaktualizować ich ścieżki w poniższym poleceniu.
bin/kafka-mirror-maker.sh --consumer.config source-kafka.config --num.streams 1 --producer.config mirror-eventhub.config --whitelist=".*"
Aby sprawdzić, czy zdarzenia docierają do centrum zdarzeń, zobacz statystyki ruchu przychodzącego w witrynie Azure Portal lub uruchom konsumenta względem centrum zdarzeń.
Po uruchomieniu narzędzia MirrorMaker wszystkie zdarzenia wysyłane do źródłowego klastra platformy Kafka są odbierane zarówno przez klaster Kafka, jak i dublowane centrum zdarzeń. Korzystając z narzędzia MirrorMaker i punktu końcowego Kafka usługi Event Hubs, można zrealizować implementację obecnego potoku Kafka do zarządzanej usługi Azure Event Hubs bez zmiany obecnego klastra lub przerywania jakiegokolwiek trwającego przepływu danych.
Przykłady
Zobacz następujące przykłady w witrynie GitHub:
- Przykładowy kod dla tego samouczka w usłudze GitHub
- Usługa Azure Event Hubs Kafka MirrorMaker uruchomiona w wystąpieniu kontenera platformy Azure
Następne kroki
Aby dowiedzieć się więcej o usłudze Event Hubs dla platformy Kafka, zobacz następujące artykuły:
- Łączenie platformy Apache Spark z centrum zdarzeń
- Łączenie narzędzia Apache Flink z centrum zdarzeń
- Integrowanie platformy Kafka Connect z centrum zdarzeń
- Odkryj przykłady na naszym GitHubie
- Łączenie usługi Akka Streams z centrum zdarzeń
- Przewodnik dla deweloperów platformy Apache Kafka dotyczący usługi Azure Event Hubs