Replikace dat z clusteru Kafka do služby Event Hubs pomocí Apache Kafka Mirror Makeru 1
V tomto kurzu se dozvíte, jak zrcadlit zprostředkovatele Kafka do Azure Event Hubs pomocí Kafka Mirror Makeru 1.
Poznámka
Tato ukázka je dostupná na GitHubu.
Poznámka
Tento článek obsahuje odkazy na termín, který už microsoft nepoužívá. Po odebrání termínu ze softwaru ho z tohoto článku odebereme.
V tomto kurzu se naučíte:
- Vytvoření oboru názvů služby Event Hubs
- Naklonování ukázkového projektu
- Nastavení clusteru Kafka
- Konfigurace Kafka MirrorMakeru
- Spuštění nástroje Kafka MirrorMaker
Úvod
V tomto kurzu se dozvíte, jak centrum událostí a Kafka MirrorMaker můžou integrovat existující kanál Kafka do Azure tím, že "zrcadlí" vstupní stream Kafka ve službě Event Hubs, což umožňuje integraci datových proudů Apache Kafka pomocí několika vzorů federace.
Koncový bod Azure Event Hubs Kafka umožňuje připojit se k Azure Event Hubs pomocí protokolu Kafka (to znamená klientů Kafka). Provedením minimálních změn aplikace Kafka se můžete připojit k Azure Event Hubs a využívat výhody ekosystému Azure. Event Hubs aktuálně podporuje protokol Apache Kafka verze 1.0 a novější.
Nástroj Apache Kafka MirrorMaker 1 můžete použít jednosměrně z Apache Kafka do Event Hubs. Nástroj MirrorMaker 2 je možné použít v obou směrech, ale MirrorCheckpointConnector
konfigurovatelné hodnoty a MirrorHeartbeatConnector
v nástroji MirrorMaker 2 musí být nakonfigurované tak, aby odkazovaly na zprostředkovatele Apache Kafka, a ne na službu Event Hubs. Tento kurz ukazuje konfiguraci nástroje MirrorMaker 1.
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, než začnete, vytvořte si bezplatný účet.
- Java Development Kit (JDK) 1.7 nebo novější
- 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 Maven
- 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
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 připojovací řetězec služby 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 Azure Event Hubs pro úložiště Kafka a přejděte do podsložkymirror-maker
:
git clone https://github.com/Azure/azure-event-hubs-for-kafka.git
cd azure-event-hubs-for-kafka/tutorials/mirror-maker
Nastavení clusteru Kafka
K nastavení clusteru s požadovaným nastavením (nebo použití existujícího clusteru Kafka) použijte průvodce rychlým zprovozněním kafka.
Konfigurace Kafka MirrorMakeru
Kafka MirrorMaker umožňuje zrcadlení datového proudu. Vzhledem ke zdrojovému a cílovému clusteru Kafka mirrorMaker zajišťuje, že všechny zprávy odeslané do zdrojového clusteru budou přijímány zdrojovým i cílovým clusterem. Tento příklad ukazuje, jak zrcadlit zdrojový cluster Kafka s cílovým centrem událostí. Tento scénář je možné použít k odesílání dat z existujícího kanálu Kafka do služby Event Hubs bez přerušení toku dat.
Podrobnější informace o nástroji Kafka MirrorMaker najdete v příručce Kafka Mirroring/MirrorMaker.
Pokud chcete nakonfigurovat nástroj Kafka MirrorMaker, přidělte mu cluster Kafka jako příjemce/zdroj a jako producenta nebo cíle centrum událostí.
Konfigurace příjemce
Aktualizujte konfigurační soubor source-kafka.config
příjemce , který nástroji MirrorMaker sdělí vlastnosti zdrojového clusteru 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
Konfigurace producenta
Teď aktualizujte konfigurační soubor mirror-eventhub.config
producenta , který říká nástroji MirrorMaker, aby odeslal duplicitní (nebo zrcadlená) data do služby Event Hubs. Konkrétně změňte bootstrap.servers
a sasl.jaas.config
tak, aby odkazovat na koncový bod Event Hubs Kafka. Služba Event Hubs vyžaduje zabezpečenou komunikaci (SASL), které se dosahuje nastavením posledních tří vlastností v následující konfiguraci:
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}";
Důležité
Nahraďte {YOUR.EVENTHUBS.CONNECTION.STRING}
připojovacím řetězcem pro váš obor názvů služby Event Hubs. Pokyny k získání připojovacího řetězce najdete v tématu Získání připojovacího řetězce služby Event Hubs. Tady je příklad konfigurace: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";
Spuštění nástroje Kafka MirrorMaker
Spusťte skript Kafka MirrorMaker z kořenového adresáře Kafka s použitím nově aktualizovaných konfiguračních souborů. Nezapomeňte buď zkopírovat konfigurační soubory do kořenového adresáře Kafka, nebo aktualizovat jejich cesty v následujícím příkazu.
bin/kafka-mirror-maker.sh --consumer.config source-kafka.config --num.streams 1 --producer.config mirror-eventhub.config --whitelist=".*"
Pokud chcete ověřit, že události dorazí do centra událostí, podívejte se na statistiku příchozího přenosu dat v Azure Portal nebo spusťte příjemce pro centrum událostí.
Se spuštěným nástrojem MirrorMaker jsou všechny události odeslané do zdrojového clusteru Kafka přijímány clusterem Kafka i zrcadleným centrem událostí. Pomocí nástroje MirrorMaker a koncového bodu Event Hubs Kafka můžete migrovat existující kanál Kafka do spravované služby Azure Event Hubs beze změny existujícího clusteru nebo přerušení probíhajícího toku dat.
Ukázky
Projděte si následující ukázky na GitHubu:
- Ukázkový kód pro tento kurz na GitHubu
- Azure Event Hubs Kafka MirrorMaker spuštěný ve službě Azure Container Instance
Další kroky
Další informace o službě Event Hubs pro Kafka najdete v následujících článcích: