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 spuštění vlastních clusterů. Další informace o podpoře Event Hubs "pro Apache Kafka příjemce protokolu 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
- Spustit Flink výrobce
- Spustit Flink příjemce
Poznámka
Tato ukázka je k dispozici na GitHub
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 Maven
- 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
K odeslání nebo přijetí z jakékoli služby Event Hubs se vyžaduje Event Hubs obor názvů. Pokyny k vytvoření oboru názvů a centra událostí najdete v tématu vytvoření centra událostí . Nezapomeňte zkopírovat připojovací řetězec Event Hubs pro pozdější použití.
Naklonování ukázkového projektu
Teď, když máte Event Hubs připojovací řetězec, naklonujte úložiště Azure Event Hubs for 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
Spustit Flink výrobce
Pomocí poskytnutého příkladu Flink producenta odešle zprávy službě Event Hubs.
Zadejte Event Hubs koncový bod Kafka.
producer.config
Aktualizujte bootstrap.servers hodnoty a v nástroji a sasl.jaas.config producer/src/main/resources/producer.config nasměrujte producent na Event Hubs koncový bod Kafka se správným ověření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ím řetězcem pro váš Event Hubs obor názvů. Pokyny k získání připojovacího řetězce najdete v tématu získání připojovacího řetězce 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";
Spustit producenta z příkazového řádku
Pokud chcete spustit producenta z příkazového řádku, vygenerujte JAR a pak ho spusťte z Maven (nebo vygenerujte JAR pomocí Maven a pak spusťte v jazyce Java přidáním nezbytných Kafka JAR do cesty k cestě):
mvn clean package
mvn exec:java -Dexec.mainClass="FlinkTestProducer"
Producent nyní začne odesílat události do centra událostí v tématu test a tisknout události do STDOUT.
Spustit Flink příjemce
Pomocí poskytnutého příkladu příjemce přijímají zprávy z centra událostí.
Zadejte Event Hubs koncový bod Kafka.
consumer.config
Aktualizujte bootstrap.servers hodnoty a v nástroji a sasl.jaas.config consumer/src/main/resources/consumer.config nasměrujte uživatele na Event Hubs koncový bod Kafka se správným ověření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ím řetězcem pro váš Event Hubs obor názvů. Pokyny k získání připojovacího řetězce najdete v tématu získání připojovacího řetězce 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";
Spustit příjemce z příkazového řádku
Pokud chcete spustit příjemce z příkazového řádku, vygenerujte JAR a pak spusťte z Maven (nebo vygenerujte JAR pomocí Maven a pak spusťte v jazyce Java přidáním potřebných Kafka JAR do cesty pro cestu):
mvn clean package
mvn exec:java -Dexec.mainClass="FlinkTestConsumer"
Pokud má centrum událostí události (například pokud je váš výrobce také spuštěný), pak uživatel začne přijímat události z tématu test .
Podrobnější informace o připojení Flink k Kafka najdete v příručce k Flink konektoru Kafka .
Další kroky
Další informace o Event Hubs pro Kafka najdete v následujících článcích: