Sdílet prostřednictvím


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.

Obrázek znázorňující tok událostí ze Kafka MirrorMakeru do Event Hubs

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á.
  • 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.
  • 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.

  1. 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.

  2. 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
    
  3. 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>;
    
  4. 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.>';
    
  5. 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 = .*
    
  6. 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
    
  7. 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
    
  8. 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.

  9. 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:

Další kroky

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