Adatok replikálása Egy Kafka-fürtből az Event Hubsba az Apache Kafka Mirror Maker 2 használatával
Ez az oktatóanyag bemutatja, hogyan replikálhat adatokat egy meglévő Kafka-fürtből Azure Event Hubs a Mirror Maker 2 használatával.
Megjegyzés
Ez a minta elérhető a GitHubon.
Eben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Event Hubs-névtér létrehozása
- Meglévő Kafka-fürt beállítása vagy használata
- A Kafka Mirror Maker 2 konfigurálása
- A Kafka Mirror Maker 2 futtatása
Bevezetés
Az Apache Kafka MirrorMaker 2.0 (MM2) úgy lett kialakítva, hogy megkönnyítse a témakörök tükrözése vagy replikálása egyik Kafka-fürtről a másikra. A Mirror Maker a Kafka Connect-keretrendszert használja a konfiguráció és a skálázás egyszerűsítéséhez. A Kafka MirrorMakerről további információt a Kafka Mirroring/MirrorMaker útmutatójában talál.
Mivel Azure Event Hubs kompatibilis az Apache Kafka protokollal, a Mirror Maker 2 használatával replikálhatja az adatokat egy meglévő Kafka-fürt és egy Event Hubs-névtér között.
A Mirror Maker 2 dinamikusan észleli a témakörök módosításait, és biztosítja a forrás- és céltémakör-tulajdonságok szinkronizálását, beleértve az eltolásokat és a partíciókat. Az adatok kétirányú replikálására használható a Kafka-fürt és az Event Hubs-névtér között.
Előfeltételek
Az oktatóanyag elvégzéséhez győződjön meg arról, hogy rendelkezik a következőkkel:
- Olvassa át az Apache Kafkához készült Event Hubsot ismertető cikket.
- Azure-előfizetés. Ha még nem rendelkezik ilyen fiókkal, hozzon létre egy ingyenes fiókot a kezdés előtt.
-
Java Fejlesztői készlet (JDK) 1.7+
- Ubuntu rendszeren futtassa az
apt-get install default-jdk
parancsot a JDK telepítéséhez. - Ügyeljen arra, hogy a JAVA_HOME környezeti változó arra a mappára mutasson, ahová a JDK telepítve lett.
- Ubuntu rendszeren futtassa az
-
Maven bináris archívum letöltése és telepítése
- Ubuntu rendszeren futtathatja az
apt-get install maven
parancsot a Maven telepítéséhez.
- Ubuntu rendszeren futtathatja az
-
Git
- Ubuntu rendszeren futtathatja a
sudo apt-get install git
parancsot a Git telepítéséhez.
- Ubuntu rendszeren futtathatja a
-
Apache Kafka-disztribúció
- Töltse le az előnyben részesített Apache Kafka-disztribúciót (amelynek tartalmaznia kell a Mirror Maker 2 disztribúciót).)
Event Hubs-névtér létrehozása
Az Event Hubs-szolgáltatásokból való küldéshez és fogadáshoz szükség van egy Event Hubs-névtérre. A névtér és az eseményközpont létrehozásának utasításait az Eseményközpont létrehozása című témakörben találja. Győződjön meg arról, hogy az Event Hubs kapcsolati sztring későbbi használatra másolja.
A példaprojekt klónozása
Most, hogy már rendelkezik Event Hubs-kapcsolati sztring, klónozza a Kafka-adattár Azure Event Hubs, és keresse meg az mirror-maker-2
almappát:
git clone https://github.com/Azure/azure-event-hubs-for-kafka.git
cd azure-event-hubs-for-kafka/tutorials/mirror-maker-2
Meglévő Kafka-fürt beállítása vagy használata
Ha nem rendelkezik meglévő Kafka-fürttel, a Kafka rövid útmutatója segítségével állítson be egy Kafka-fürtöt a kívánt beállításokkal (vagy használjon egy meglévő Kafka-fürtöt). Tesztelési célokból létrehozhat néhány témakört az újonnan létrehozott Kafka-fürtön, és közzéteheti az adatokat.
Ha már rendelkezik meglévő Kafka-fürtel a helyszínen vagy egy felügyelt Kafka-felhőszolgáltatásban, akkor a használatával replikálhatja a meglévő adatokat az Event Hubsba.
A Kafka Mirror Maker 2 konfigurálása
Az Apache Kafka-disztribúció olyan szkripttel connect-mirror-maker.sh
rendelkezik, amely egy elosztott Mirror Maker 2-fürtöt implementáló Kafka-kódtárba van csomagolva. A Feldolgozók csatlakoztatása belsőleg, konfigurációs fájl alapján kezeli. A MirrorMaker-illesztő belsőleg hozza létre és kezeli az egyes összekötők párjait – MirrorSource Connector, MirrorSink Connector, MirrorCheckpoint Connector és MirrorHeartbeat Connector.
A Mirror Maker 2 adatok replikálására való konfigurálásához frissítenie kell a Mirror Maker 2 konfigurációs fájlját
kafka-to-eh-connect-mirror-maker.properties
a replikációs topológia meghatározásához.A konfigurációs fájlban adja meg a
kafka-to-eh-connect-mirror-maker.properties
Kafka-fürt(forrás) és az Event Hubs (cél) számára használni kívánt fürtaliasokat.# cluster aliases clusters = source, destination
Ezután adja meg a forrás csatlakozási adatait, amely a Kafka-fürt.
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>;
Adja meg a cél csatlakozási adatait, amely a létrehozott Event Hubs-névtér.
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.>';
Engedélyezze a replikációs folyamatot a forrás Kafka-fürtről a cél Event Hubs-névtérbe.
source->destination.enabled = true source->destination.topics = .*
Frissítse a Mirror Maker által a célhelyen létrehozott távoli témakörök és belső témakörök replikációs tényezőjét.
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
Ezután átmásolhatja
kafka-to-eh-connect-mirror-maker.properties
a konfigurációs fájlt a Kafka-disztribúció konfigurációs könyvtárába, és az alábbi paranccsal futtathatja a Mirror Maker 2 szkriptet../bin/connect-mirror-maker.sh ./config/kafka-to-eh-connect-mirror-maker.properties
A szkript sikeres végrehajtása után látnia kell, hogy a Kafka-témakörök és -események replikálódnak az Event Hubs-névtérbe.
Annak ellenőrzéséhez, hogy az események a Kafka-kompatibilis Event Hubsba kerülnek-e, tekintse meg a bejövő forgalom statisztikáit a Azure Portal, vagy futtasson egy fogyasztót az Event Hubson.
Példák
Tekintse meg a következő mintákat a GitHubon:
Ha a CNCF Strimzi operátorral üzemelteti az Apache Kafkát a Kubernetesen, használhatja a Strimzi Mirror Maker 2-mintát az Event Hubshoz.
Következő lépések
Ha többet szeretne megtudni a Kafkához készült Event Hubsról, tekintse meg az alábbi cikkeket: