Az Apache Flink használata az Apache Kafkához készült Event Hubs szolgáltatással
Ez az oktatóanyag bemutatja, hogyan csatlakoztathatja az Apache Flinket egy eseményközponthoz a protokoll-ügyfelek módosítása vagy saját fürtök futtatása nélkül. További információ az Event Hubs Apache Kafka fogyasztói protokollhoz való támogatásáról: Event Hubs for Apache Kafka.
Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Event Hubs-névtér létrehozása
- A példaprojekt klónozása
- Flink-gyártó futtatása
- Flink-fogyasztó futtatása
Feljegyzés
Ez a minta elérhető a GitHubon.
Előfeltételek
Az oktatóanyag elvégzéséhez győződjön meg arról, hogy rendelkezik a következő előfeltételekkel:
- 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
Egy Event Hubs-névtérre van szükség bármely Event Hubs-szolgáltatás küldéséhez vagy fogadásához. 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. Mindenképpen másolja az Event Hubs kapcsolati sztring későbbi használatra.
A példaprojekt klónozása
Most, hogy rendelkezik az Event Hubs kapcsolati sztring, klónozza az Azure Event Hubs for Kafka-adattárat, és keresse meg az flink
almappát:
git clone https://github.com/Azure/azure-event-hubs-for-kafka.git
cd azure-event-hubs-for-kafka/tutorials/flink
Flink-gyártó futtatása
A megadott Flink-gyártói példával üzeneteket küldhet az Event Hubs szolgáltatásnak.
Event Hubs Kafka-végpont megadása
producer.config
Frissítse a bootstrap.servers
beosztott producer/src/main/resources/producer.config
értékeket, hogy sasl.jaas.config
a gyártót a megfelelő hitelesítéssel az Event Hubs Kafka-végpontra irányítsa.
bootstrap.servers={YOUR.EVENTHUBS.FQDN}:9093
client.id=FlinkExampleProducer
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 {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éldakonfiguráció: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";
Gyártó futtatása a parancssorból
A gyártó parancssorból való futtatásához hozza létre a JAR-t, majd futtassa a Mavenen belülről (vagy hozza létre a JAR-t a Maven használatával, majd futtassa a Javában a szükséges Kafka JAR(ok) hozzáadásával az osztályúton):
mvn clean package
mvn exec:java -Dexec.mainClass="FlinkTestProducer"
A gyártó most megkezdi az események küldését az eseményközpontba a témában test
, és kinyomtatja az eseményeket a stdoutba.
Flink-fogyasztó futtatása
A megadott fogyasztói példa használatával üzeneteket fogadhat az eseményközpontból.
Event Hubs Kafka-végpont megadása
consumer.config
Frissítse a bootstrap.servers
beosztott consumer/src/main/resources/consumer.config
értékeket, hogy sasl.jaas.config
a fogyasztót a megfelelő hitelesítéssel az Event Hubs Kafka-végpontra irányíthassa.
bootstrap.servers={YOUR.EVENTHUBS.FQDN}:9093
group.id=FlinkExampleConsumer
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 {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éldakonfiguráció: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";
Fogyasztó futtatása a parancssorból
A fogyasztó parancssorból való futtatásához hozza létre a JAR-t, majd futtassa a Mavenen belül (vagy hozza létre a JAR-t a Maven használatával, majd futtassa a Javában a szükséges Kafka JAR(ok) hozzáadásával az osztályúton):
mvn clean package
mvn exec:java -Dexec.mainClass="FlinkTestConsumer"
Ha az eseményközpont eseményekkel rendelkezik (például ha a gyártó is fut), akkor a fogyasztó megkezdi az események fogadását a témakörből test
.
A Flink Kafka Connector-útmutatójában részletesebb információkat talál a Flink kafkához való csatlakoztatásáról.
Következő lépések
A Kafkához készült Event Hubsról az alábbi cikkekben olvashat bővebben: