Sdílet prostřednictvím


Použití Apache Flink se službou Azure Event Hubs pro Apache Kafka

V tomto kurzu se dozvíte, jak připojit Apache Flink k centru událostí beze změny klientů protokolu nebo spouštění vlastních clusterů. Další informace o podpoře protokolu příjemce Apache Kafka ve službě Event Hubs najdete v tématu Event Hubs pro Apache Kafka.

V tomto kurzu se naučíte:

  • Vytvoření oboru názvů služby Event Hubs
  • Naklonování ukázkového projektu
  • Spuštění producenta Flink
  • Spuštění příjemce Flink

Poznámka:

Tato ukázka je k dispozici na GitHubu.

Požadavky

K dokončení tohoto kurzu se ujistěte, že máte následující požadavky:

  • Přečtěte si článek Event Hubs pro Apache Kafka.
  • Předplatné Azure. Pokud ho nemáte, než začnete, vytvořte si bezplatný účet.
  • 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.

Vytvoření oboru názvů služby Event Hubs

Obor názvů služby Event Hubs se vyžaduje k odesílání a přijímání z jakékoli 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 flink podsložky:

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

Pomocí poskytnutého příkladu producenta Flink odešlete zprávy do služby Event Hubs.

Poskytnutí koncového bodu Event Hubs Kafka

producer.config

bootstrap.servers Aktualizujte hodnoty a sasl.jaas.config producer/src/main/resources/producer.config nasměrujte producenta na koncový bod Event Hubs Kafka se správným ověřováním.

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}";

Důležité

Nahraďte {YOUR.EVENTHUBS.CONNECTION.STRING} připojovací řetězec pro obor názvů služby Event Hubs. Pokyny k získání připojovací řetězec najdete v tématu Získání připojovací řetězec služby Event Hubs. Tady je příklad konfigurace: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";

Spuštění producenta z příkazového řádku

Pokud chcete spustit producenta z příkazového řádku, vygenerujte soubor JAR a pak ho spusťte v rámci Mavenu (nebo vygenerujte soubor JAR pomocí Mavenu a pak spusťte v Javě přidáním potřebných jar Kafka do cesty ke třídě):

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

Producent teď začne odesílat události do centra událostí v tématu test a vytisknout události do stdout.

Pomocí poskytnutého příkladu příjemce můžete přijímat zprávy z centra událostí.

Poskytnutí koncového bodu Event Hubs Kafka

consumer.config

bootstrap.servers Aktualizujte hodnoty a sasl.jaas.config consumer/src/main/resources/consumer.config nasměrujte příjemce na koncový bod Event Hubs Kafka se správným ověřováním.

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}";

Důležité

Nahraďte {YOUR.EVENTHUBS.CONNECTION.STRING} připojovací řetězec pro obor názvů služby Event Hubs. Pokyny k získání připojovací řetězec najdete v tématu Získání připojovací řetězec služby Event Hubs. Tady je příklad konfigurace: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";

Spuštění příjemce z příkazového řádku

Pokud chcete spustit příjemce z příkazového řádku, vygenerujte soubor JAR a pak ho spusťte z Mavenu (nebo vygenerujte soubor JAR pomocí Mavenu a pak ho spusťte v Javě přidáním potřebných jar Kafka do cesty ke třídě):

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

Pokud centrum událostí obsahuje události (například pokud je spuštěný váš producent), pak příjemce nyní začne přijímat události z tématu test.

Podrobnější informace o připojení Flinku k Systému Kafka najdete v průvodci konektorem Flink.

Další kroky

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