Sdílet prostřednictvím


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 služby Azure Event Hubs pomocí nástroje Kafka Mirror Maker 1.

Kafka MirrorMaker se službou Event Hubs

Poznámka:

Tato ukázka je k dispozici na GitHubu.

Poznámka:

Tento článek obsahuje odkazy na termín, který už Microsoft nepouží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 nástroje Kafka MirrorMaker
  • Spuštění nástroje Kafka MirrorMaker

Úvod

V tomto kurzu se dozvíte, jak může centrum událostí a Kafka MirrorMaker 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ý bod Kafka služby Azure Event Hubs umožňuje připojení ke službě Azure Event Hubs pomocí protokolu Kafka (to znamená klientů Kafka). Provedením minimálních změn aplikace Kafka se můžete připojit ke službě 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ší.

Zrcadlový nástroj Apache Kafka 1 můžete použít jednosměrně z Apache Kafka do Event Hubs. MirrorMaker 2 lze použít v obou směrech, ale MirrorCheckpointConnector MirrorHeartbeatConnector je možné je nakonfigurovat v Nástroji MirrorMaker 2 tak, aby odkazoval na zprostředkovatele Apache Kafka, a ne na službu Event Hubs. Tento kurz ukazuje konfiguraci MirrorMakeru 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á.
  • 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.
  • Git
    • Na Ubuntu můžete Git nainstalovat spuštěním příkazu sudo apt-get install git.

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 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 nástroje Kafka MirrorMaker

Kafka MirrorMaker umožňuje zrcadlení datového proudu. Vzhledem ke zdrojovému a cílovému clusteru Kafka nástroj MirrorMaker zajistí, 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 služby 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 centrum událostí jako svého producenta nebo cíle.

Konfigurace příjemce

Aktualizujte konfigurační soubor source-kafka.configpříjemce, který říká MirrorMakeru 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.configproducenta, který říká MirrorMakeru, aby do služby Event Hubs odeslal duplicitní (nebo zrcadlené) data. Konkrétně změňte bootstrap.servers a sasl.jaas.config nasměrujte na koncový bod Event Hubs Kafka. Služba Event Hubs vyžaduje zabezpečenou komunikaci (SASL), kterou dosáhnete 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í řetězec pro obor názvů služby Event Hubs. Pokyny k získání připojovací řetězec najdete v tématu Získání připojovací řetězec 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 MirrorMakeru 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 dorazí do centra událostí, podívejte se na statistiku příchozího přenosu dat na webu Azure Portal nebo spusťte příjemce v centru událostí.

Při spuštění MirrorMakeru se všechny události odeslané do zdrojového clusteru Kafka přijímají clusterem Kafka i centrem zrcadlených událostí. Pomocí MirrorMakeru 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:

Další kroky

Další informace o službě Event Hubs pro Kafka najdete v následujících článcích: