Adatok replikálása Egy Kafka-fürtből az Event Hubsba az Apache Kafka Mirror Maker 1 használatával
Ez az oktatóanyag bemutatja, hogyan tükrözhet egy Kafka-közvetítőt egy Azure Event Hubs a Kafka Mirror Maker 1 használatával.
Megjegyzés
Ez a minta elérhető a GitHubon.
Megjegyzés
Ez a cikk a Microsoft által már nem használt kifejezésre mutató hivatkozásokat tartalmaz. Ha a kifejezés el lesz távolítva a szoftverből, eltávolítjuk ebből a cikkből.
Eben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Event Hubs-névtér létrehozása
- A példaprojekt klónozása
- Kafka-fürt beállítása
- A Kafka MirrorMaker konfigurálása
- A Kafka MirrorMaker futtatása
Bevezetés
Ez az oktatóanyag bemutatja, hogy egy eseményközpont és a Kafka MirrorMaker hogyan integrálhat egy meglévő Kafka-folyamatot az Azure-ba a Kafka bemeneti adatfolyamának "tükrözésével" az Event Hubs szolgáltatásban, amely lehetővé teszi az Apache Kafka-streamek integrálását több összevonási minta használatával.
Egy Azure Event Hubs Kafka-végpont lehetővé teszi, hogy a Kafka protokoll (azaz a Kafka-ügyfelek) használatával csatlakozzon Azure Event Hubs. A Kafka-alkalmazások minimális módosításával csatlakozhat Azure Event Hubs, és élvezheti az Azure-ökoszisztéma előnyeit. Az Event Hubs jelenleg az Apache Kafka 1.0-s és újabb verzióinak protokollját támogatja.
Az Apache Kafka MirrorMaker 1-jét egyirányúan használhatja az Apache Kafkától az Event Hubsig. A MirrorMaker 2 mindkét irányban használható, de a MirrorCheckpointConnector
MirrorMaker 2-ben konfigurálható és MirrorHeartbeatConnector
azt is úgy kell konfigurálni, hogy az Apache Kafka közvetítőre mutasson, és ne az Event Hubsra. Ez az oktatóanyag a MirrorMaker 1 konfigurálását mutatja be.
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 nincs előfizetése, hozzon létre egy ingyenes fiókot, mielőtt hozzákezd.
- 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
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
almappát:
git clone https://github.com/Azure/azure-event-hubs-for-kafka.git
cd azure-event-hubs-for-kafka/tutorials/mirror-maker
Kafka-fürt beállítása
A Kafka rövid útmutatójával beállíthat egy fürtöt a kívánt beállításokkal (vagy használhat egy meglévő Kafka-fürtöt).
A Kafka MirrorMaker konfigurálása
A Kafka MirrorMaker lehetővé teszi egy stream "tükrözését". A forrás- és cél Kafka-fürtök esetében a MirrorMaker biztosítja, hogy a forrásfürtnek küldött üzeneteket a forrás- és célfürtök is megkapják. Ez a példa bemutatja, hogyan tükrözhet egy forrás Kafka-fürtöt egy célesemény-központtal. Ez a forgatókönyv arra használható, hogy egy meglévő Kafka-folyamatból adatokat küldjön az Event Hubsnak anélkül, hogy megszakítja az adatáramlást.
A Kafka MirrorMakerről további információt a Kafka Mirroring/MirrorMaker útmutatójában talál.
A Kafka MirrorMaker konfigurálásához adjon neki egy Kafka-fürtöt fogyasztóként/forrásként, és egy eseményközpontot gyártóként/célhelyként.
Fogyasztói konfiguráció
Frissítse a fogyasztói konfigurációs fájlt source-kafka.config
, amely tájékoztatja a MirrorMakert a forrás Kafka-fürt tulajdonságairól.
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
Gyártó konfigurációja
Most frissítse a gyártó konfigurációs fájlját mirror-eventhub.config
, amely arra utasítja a MirrorMakert, hogy küldje el a duplikált (vagy tükrözött) adatokat az Event Hubs szolgáltatásnak. Konkrétan módosítsa bootstrap.servers
sasl.jaas.config
és mutasson az Event Hubs Kafka-végpontra. Az Event Hubs szolgáltatás biztonságos (SASL) kommunikációt igényel, amely az utolsó három tulajdonság beállításával érhető el a következő konfigurációban:
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}";
Fontos
Cserélje le a elemet {YOUR.EVENTHUBS.CONNECTION.STRING}
az Event Hubs-névtér kapcsolati sztring. A kapcsolati sztring beszerzésére vonatkozó útmutatásért lásd: Event Hubs-kapcsolati sztring beszerzése. Íme egy példa konfigurációra: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";
A Kafka MirrorMaker futtatása
Futtassa a Kafka MirrorMaker-szkriptet a legfelső szintű Kafka könyvtárból az újonnan frissített konfigurációs fájlok használatával. Győződjön meg arról, hogy másolja a konfigurációs fájlokat a legfelső szintű Kafka könyvtárba, vagy frissítse az elérési útjukat az alábbi parancsban.
bin/kafka-mirror-maker.sh --consumer.config source-kafka.config --num.streams 1 --producer.config mirror-eventhub.config --whitelist=".*"
Annak ellenőrzéséhez, hogy az események elérik-e az eseményközpontot, tekintse meg a Azure Portal bejövő forgalmának statisztikáit, vagy futtasson egy fogyasztót az eseményközpontban.
Ha a MirrorMaker fut, a forrás Kafka-fürtnek küldött eseményeket a Kafka-fürt és a tükrözött eseményközpont is fogadja. A MirrorMaker és egy Event Hubs Kafka-végpont használatával migrálhat egy meglévő Kafka-folyamatot a felügyelt Azure Event Hubs szolgáltatásba anélkül, hogy módosítaná a meglévő fürtöt, vagy megszakítaná a folyamatban lévő adatfolyamokat.
Példák
Tekintse meg a következő mintákat a GitHubon:
- Mintakód ehhez az oktatóanyaghoz a GitHubon
- Azure Container Instance-példányon futó Kafka MirrorMaker Azure Event Hubs
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: