Použití Apache Kafka MirrorMaker s Event Hubs
Tento kurz ukazuje, jak zrcadlit zprostředkovatele Kafka do centra událostí Azure pomocí nástroje Kafka MirrorMaker. Pokud hostíte Apache Kafka v Kubernetes pomocí operátoru MIRRORF Strimzi, můžete se v tomto blogovém příspěvku dozvědět, jak nastavit Kafka se Strimzi a Mirror Makerem 2.

Poznámka
Tato ukázka je k dispozici na GitHub
Poznámka
Tento článek obsahuje odkazy na termín "seznam povolených"– termín, který microsoft už používá. Když se termín odebere ze softwaru, odebereme ho z tohoto článku.
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í Kafka MirrorMakeru
Úvod
Tento kurz ukazuje, jak centrum událostí a Kafka MirrorMaker mohou integrovat existující kanál Kafka do Azure tím, že "zrcadlí" vstupní datový proud Kafka ve službě Event Hubs, což umožňuje integraci datových proudů Apache Kafka pomocí několika vzorů federace.
Koncový 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 v současné době podporuje protokol Apache Kafka verze 1.0 a novější.
Zrcadlový Apache Kafka MirrorMaker 1 můžete použít jednosměrně od Apache Kafka po Event Hubs. MirrorMaker 2 je možné použít v obou směrech, ale a, které je možné konfigurovat v MirrorCheckpointConnector MirrorHeartbeatConnector MirrorMakeru 2, musí být nakonfigurované tak, aby odkazoval na zprostředkovatele Apache Kafka a ne na 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+
- 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
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í Event Hubs pro pozdější použití.
Naklonování ukázkového projektu
Teď, když máte připojovací Event Hubs, naklonujte soubor Azure Event Hubs pro úložiště Kafka a přejděte do mirror-maker podsložky :
git clone https://github.com/Azure/azure-event-hubs-for-kafka.git
cd azure-event-hubs-for-kafka/tutorials/mirror-maker
Nastavení clusteru Kafka
Pomocí průvodce rychlým startem Kafka nastavte cluster s požadovaným nastavením (nebo použijte existující cluster Kafka).
Konfigurace Kafka MirrorMakeru
Kafka MirrorMaker umožňuje "zrcadlení" datového proudu. Vzhledem ke zdrojovým a cílovým clusterům Kafka mirrorMaker zajišťuje, aby zdrojové i cílové clustery přijímaly všechny zprávy odeslané do zdrojového clusteru. Tento příklad ukazuje, jak zrcadlit zdrojový cluster Kafka s cílovým centrem událostí. Tento scénář lze použít k odesílání dat z existujícího kanálu Kafka do Event Hubs bez přerušení toku dat.
Podrobnější informace o Kafka MirrorMakeru najdete v příručce Kafka Mirroring/MirrorMaker.
Pokud chcete nakonfigurovat Kafka MirrorMaker, dejte mu cluster Kafka jako příjemce nebo zdroj a jako producenta/cíl centra událostí.
Konfigurace příjemce
Aktualizujte konfigurační soubor source-kafka.config příjemce, který informuje MirrorMaker o vlastnostech 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 producenta, který říká nástroji MirrorMaker, aby odesílal duplicitní mirror-eventhub.config (nebo "zrcadlený") data do Event Hubs služby. Konkrétně změňte a bootstrap.servers tak, sasl.jaas.config aby odkazovat na koncový Event Hubs Kafka. Služba Event Hubs vyžaduje zabezpečenou komunikaci (SASL), což 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áš Event Hubs názvů. Pokyny k získání připojovacího řetězce najdete v tématu Získání Event Hubs připojovacího řetězce. 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í Kafka MirrorMakeru
Spusťte skript Kafka MirrorMaker z kořenového adresáře Kafka pomocí 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 přistupují do centra událostí, podívejtese na statistiku příchozího přenosu dat v Azure Portal nebo spusťte konzumenta s centrem událostí.
Když je mirrorMaker spuštěný, všechny události odeslané do zdrojového clusteru Kafka přijímá cluster Kafka i zrcadlené centrum 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í jakéhokoli probíhajícího toku dat.
ukázky
Podívejte se na následující ukázky na GitHub:
- Ukázkový kód pro tento kurz na GitHub
- Azure Event Hubs Kafka MirrorMaker běžící na instanci kontejneru Azure
Další kroky
Další informace o Event Hubs pro Kafka najdete v následujících článcích: