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.

Eben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • Event Hubs-névtér létrehozása
  • A példaprojekt klónozása
  • Flink-előállító futtatása
  • Flink-fogyasztó futtatása

Megjegyzé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 Development Kit (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.
  • 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.
  • Git
    • Ubuntu rendszeren futtathatja a sudo apt-get install git parancsot a Git telepítéséhez.

Event Hubs-névtér létrehozása

Egy Event Hubs-névtér szükséges 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 útmutatásáért lásd: Eseményközpont létrehozása . Mindenképpen másolja ki az Event Hubs kapcsolati sztring későbbi használatra.

A példaprojekt klónozása

Most, hogy már rendelkezik az Event Hubs kapcsolati sztring, klónozza a Kafka-adattár Azure Event Hubs, és lépjen az flink almappára:

git clone https://github.com/Azure/azure-event-hubs-for-kafka.git
cd azure-event-hubs-for-kafka/tutorials/flink

A megadott Flink-előállító példával küldjön üzeneteket az Event Hubs szolgáltatásnak.

Event Hubs Kafka-végpont megadása

producer.config

Frissítse a bootstrap.servers és sasl.jaas.config az értékét, producer/src/main/resources/producer.config hogy az előállító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} a elemet az Event Hubs-névtér kapcsolati sztring. A kapcsolati sztring beszerzésére vonatkozó utasításoké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";

Előállító futtatása a parancssorból

A gyártó parancssorból való futtatásához hozza létre a JAR-t, majd futtassa a parancsot a Mavenen belül (vagy hozza létre a JAR-t a Maven használatával, majd futtassa a Java-ban a szükséges Kafka JAR(ok) hozzáadásával az osztályútvonalhoz):

mvn clean package
mvn exec:java -Dexec.mainClass="FlinkTestProducer"

Az előállító ekkor megkezdi az események küldését az eseményközpontba a témában test , és kinyomtatja az eseményeket az stdoutba.

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 és sasl.jaas.config az bootstrap.servers értékét, consumer/src/main/resources/consumer.config hogy a fogyasztót a megfelelő hitelesítéssel az Event Hubs Kafka-végpontra irányítsa.

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} a elemet az Event Hubs-névtér kapcsolati sztring. A kapcsolati sztring beszerzésére vonatkozó utasításoké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";

Fogyasztó futtatása a parancssorból

A fogyasztó parancssorból való futtatásához hozza létre a JAR-t, majd futtassa a parancsot a Mavenen belül (vagy hozza létre a JAR-t a Maven használatával, majd futtassa a Java-ban a szükséges Kafka JAR(ok) hozzáadásával az osztályútvonalhoz):

mvn clean package
mvn exec:java -Dexec.mainClass="FlinkTestConsumer"

Ha az eseményközpont eseményekkel rendelkezik (például ha az előállítója is fut), akkor a fogyasztó most megkezdi az események fogadását a témakörből test.

A Flink kafkához való csatlakoztatásával kapcsolatos részletesebb információkért tekintse meg a Flink Kafka-összekötő útmutatóját .

Következő lépések

A Kafkához készült Event Hubsról az alábbi cikkekben talál további információt: