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řte obor názvů Event Hubs
  • Naklonování ukázkového projektu
  • Spusťte 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, vytvořte si bezplatný účet před tím, než začnete.
  • 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řit obor názvů 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 si zkopírovat připojovací řetězec Event Hubs pro pozdější použití.

Naklonování ukázkového projektu

Nyní, když máte připojovací řetězec pro Event Hubs, naklonujte úložiště Azure Event Hubs for Kafka a přejděte do podsložky flink.

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.

Poskytněte koncový bod Event Hubs Kafka

producent.config

Aktualizujte hodnoty bootstrap.servers a sasl.jaas.config v producer/src/main/resources/producer.config a 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} řetězcem připojení pro obor názvů Event Hubs. Pokyny k získání připojovacího řetězce najdete v tématu Získání připojovacího řetězce 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 producer 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 jednoho nebo více nezbytných Kafka JARů 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 tisknout události na stdout.

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

Poskytněte koncový bod Event Hubs Kafka

consumer.config

Aktualizujte hodnoty bootstrap.servers a sasl.jaas.config v consumer/src/main/resources/consumer.config tak, aby nasměrovaly 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} řetězcem připojení pro obor názvů služby Event Hubs. Informace o tom, jak získat připojovací řetězec, najdete v tématu Získání připojovacího řetězce 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í spotřebitele 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 spusťte v Javě přidáním jedné nebo více nezbytných knihoven Kafka JARs 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: