Replikace dat z clusteru Kafka do služby Event Hubs pomocí Apache Kafka Mirror Maker 2
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ření oboru názvů služby 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 oborem názvů služby 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 k vytvoření oboru názvů a centra událostí najdete v tématu Vytvoření centra událostí. Nezapomeňte zkopírovat službu Event Hubs připojovací řetězec pro pozdější použití.
Naklonování ukázkového projektu
Teď, když máte službu Event Hubs připojovací řetězec, naklonujte službu Azure Event Hubs pro úložiště 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 cíl, což je obor názvů služby 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ů služby 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 témata a události Kafka, které se replikují do vašeho oboru názvů služby Event Hubs.
Pokud chcete ověřit, že se události provádějí ve službě Event Hubs s podporou Kafka, podívejte se na statistiku příchozího přenosu dat na webu Azure Portal nebo spusťte příjemce 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: