Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto kurzu se dozvíte, jak replikovat data z existujícího clusteru Kafka do služby Azure Event Hubs pomocí služby Mirror Maker 2.
Poznámka:
Tato ukázka je k dispozici na GitHubu.
V tomto kurzu se naučíte:
- Vytvořte obor názvů Event Hubs
- Nastavení nebo použití existujícího clusteru Kafka
- Konfigurace nástroje Kafka Mirror Maker 2
- Spuštění nástroje Kafka Mirror Maker 2
Úvod
Apache Kafka MirrorMaker 2.0 (MM2) je navržený tak, aby usnadnil zrcadlení nebo replikaci témat z jednoho clusteru Kafka do druhého. Služba Mirror Maker využívá architekturu Kafka Connect ke zjednodušení konfigurace a škálování. Podrobnější informace o kafka MirrorMakeru najdete v příručce Kafka Mirroring/MirrorMaker.
Protože je Služba Azure Event Hubs kompatibilní s protokolem Apache Kafka, můžete pomocí nástroje Mirror Maker 2 replikovat data mezi existujícím clusterem Kafka a oborem názvů služby Event Hubs.
Aplikace Mirror Maker 2 dynamicky detekuje změny témat a zajišťuje synchronizaci vlastností zdrojového a cílového tématu, včetně posunů a oddílů. Dá se použít k obousměrné replikaci dat mezi clusterem Kafka a prostorem názvů Event Hubs.
Požadavky
Abyste mohli absolvovat tento kurz, ujistěte se, že máte následující:
- Přečtěte si článek Event Hubs pro Apache Kafka.
- Předplatné Azure. Pokud ho nemáte, vytvořte si bezplatný účet před tím, než začnete.
-
Java Development Kit (JDK) 1.7+
- Na Ubuntu nainstalujte sadu JDK spuštěním příkazu
apt-get install default-jdk
. - Nezapomeňte nastavit proměnnou prostředí JAVA_HOME tak, aby odkazovala na složku, ve které je sada JDK nainstalovaná.
- Na Ubuntu nainstalujte sadu JDK spuštěním příkazu
-
Stažení a instalace binárního archivu Mavenu
- Na Ubuntu můžete Maven nainstalovat spuštěním příkazu
apt-get install maven
.
- Na Ubuntu můžete Maven nainstalovat spuštěním příkazu
-
Git
- Na Ubuntu můžete Git nainstalovat spuštěním příkazu
sudo apt-get install git
.
- Na Ubuntu můžete Git nainstalovat spuštěním příkazu
-
Distribuce Apache Kafka
- Stáhněte si upřednostňovanou distribuci Apache Kafka (která by měla obsahovat distribuci Mirror Maker 2.)
Vytvoření oboru názvů služby Event Hubs
K odesílání do jakékoli služby Event Hubs a příjmu z ní se vyžaduje obor názvů služby Event Hubs. Pokyny, jak vytvořit obor názvů a centrum událostí, najdete v tématu Vytvoření centra událostí. Nezapomeňte si zkopírovat připojovací řetězec pro Event Hubs pro pozdější použití.
Naklonování ukázkového projektu
Teď, když máte připojovací řetězec služby Event Hubs, naklonujte úložiště Azure Event Hubs pro Kafka a přejděte do mirror-maker-2
podsložky.
git clone https://github.com/Azure/azure-event-hubs-for-kafka.git
cd azure-event-hubs-for-kafka/tutorials/mirror-maker-2
Nastavení nebo použití existujícího clusteru Kafka
Pokud ještě nemáte existující cluster Kafka, nastavte cluster Kafka pomocí průvodce rychlým startem Kafka s požadovaným nastavením (nebo použijte existující cluster Kafka). Pro účely testování můžete také vytvořit několik témat v nově vytvořeném clusteru Kafka a publikovat do nich data.
Pokud už máte existující cluster Kafka místně nebo ve spravované cloudové službě Kafka, můžete ho použít k replikaci existujících dat do služby Event Hubs.
Konfigurace nástroje Kafka Mirror Maker 2
Distribuce Apache Kafka se dodává se skriptem connect-mirror-maker.sh
, který je součástí knihovny Kafka, která implementuje distribuovaný cluster Mirror Maker 2. Spravuje pracovní procesy Connect interně na základě konfiguračního souboru. Ovladač MirrorMaker interně vytváří a zpracovává dvojice jednotlivých konektorů – MirrorSource Connector, MirrorSink Connector, MirrorCheckpoint Connector a MirrorHeartbeat Connector.
Pokud chcete nakonfigurovat službu Mirror Maker 2 pro replikaci dat, musíte aktualizovat konfigurační soubor
kafka-to-eh-connect-mirror-maker.properties
Mirror Maker 2, aby se definovala topologie replikace.V konfiguračním
kafka-to-eh-connect-mirror-maker.properties
souboru definujte aliasy clusteru, které chcete použít pro cluster Kafka (zdroj) a službu Event Hubs (cíl).# cluster aliases clusters = source, destination
Pak zadejte informace o připojení pro váš zdroj, což je cluster 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>;
Zadejte informace o připojení pro určený cíl, což je obor názvů Event Hubs, který jste vytvořili.
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.>';
Povolte tok replikace ze zdrojového clusteru Kafka do cílového oboru názvů Event Hubs.
source->destination.enabled = true source->destination.topics = .*
Aktualizujte faktor replikace vzdálených témat a interních témat, která služba Mirror Maker vytvoří v cíli.
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
Potom zkopírujete
kafka-to-eh-connect-mirror-maker.properties
konfigurační soubor do konfiguračního adresáře distribuce Kafka a můžete spustit skript Mirror Maker 2 pomocí následujícího příkazu../bin/connect-mirror-maker.sh ./config/kafka-to-eh-connect-mirror-maker.properties
Po úspěšném spuštění skriptu byste měli vidět, jak se témata a události Kafka zkopírují do vašeho prostoru názvů služby Event Hubs.
Pokud chcete ověřit, že se události dostávají do služby Event Hubs s podporou Kafka, podívejte se na statistiku příchozího přenosu dat v Azure portal nebo spusťte konzumenta ve službě Event Hubs.
Ukázky
Projděte si následující ukázky na GitHubu:
Pokud hostujete Apache Kafka v Kubernetes pomocí operátoru CNCF Strimzi, můžete pro Event Hubs použít ukázku Strimzi Mirror Maker 2.
Další kroky
Další informace o službě Event Hubs pro Kafka najdete v následujících článcích: