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á.
- Na Ubuntu nainstalujte sadu JDK spuštěním příkazu
- 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
.
- Na Ubuntu můžete Maven nainstalovat spuštěním příkazu
- Git
- Na Ubuntu můžete Git nainstalovat spuštěním příkazu
sudo apt-get install git
.
- Na Ubuntu můžete Git nainstalovat spuštěním příkazu
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
Spuštění producenta 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.
Spuštění příjemce Flink
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: