Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
In deze zelfstudie leert u hoe u Apache Flink verbindt met een Event Hub zonder uw protocolclients te wijzigen of uw eigen clusters uit te voeren. Zie Event Hubs voor Apache Kafka voor meer informatie over de ondersteuning van Event Hubs voor het Apache Kafka-consumentenprotocol.
In deze zelfstudie leert u het volgende:
- Een Event Hubs-naamruimte maken
- Het voorbeeldproject klonen
- Voer Flink producer uit
- Flink consumer uitvoeren
Notitie
Dit voorbeeld is beschikbaar op GitHub
Vereisten
Zorg ervoor dat u aan de volgende vereisten voldoet om deze zelfstudie te voltooien:
- Lees het artikel Event Hubs voor Apache Kafka door.
- Een Azure-abonnement. Als u nog geen abonnement hebt, maakt u een gratis account voordat u begint.
-
Java Development Kit (JDK) 1.7+
- Voer op Ubuntu
apt-get install default-jdkuit om de JDK te installeren. - Zorg dat de omgevingsvariabele JAVA_HOME verwijst naar de map waarin de JDK is geïnstalleerd.
- Voer op Ubuntu
-
Download en installeer een binair Maven-archief
- Op Ubuntu kunt u
apt-get install mavenuitvoeren om Maven te installeren.
- Op Ubuntu kunt u
-
Git
- Op Ubuntu kunt u
sudo apt-get install gituitvoeren om Git te installeren.
- Op Ubuntu kunt u
Een Event Hubs-naamruimte maken
Een Event Hubs-naamruimte is vereist voor het verzenden of ontvangen van een Event Hubs-service. Zie Een Event Hub maken voor instructies voor het maken van een naamruimte en een Event Hub. Zorg ervoor dat u de Event Hubs-verbindingsreeks kopieert voor later gebruik.
Het voorbeeldproject klonen
Nu u de Event Hubs-verbindingsreeks hebt, kloont u de Azure Event Hubs voor Kafka-opslagplaats en navigeert u naar de flink submap:
git clone https://github.com/Azure/azure-event-hubs-for-kafka.git
cd azure-event-hubs-for-kafka/tutorials/flink
Voer Flink producer uit
Verzend berichten naar de Event Hubs-service met behulp van het opgegeven voorbeeld van een Flink-producent.
Een Event Hubs Kafka-eindpunt opgeven
producer.config
Werk de waarden van bootstrap.servers en sasl.jaas.config in producer/src/main/resources/producer.config bij om de producent naar het Event Hubs Kafka-eindpunt te leiden met de juiste authenticatie.
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}";
Belangrijk
Vervang {YOUR.EVENTHUBS.CONNECTION.STRING} door de verbindingsreeks voor uw Event Hubs-naamruimte. Zie Een verbindingsreeks voor Event Hubs ophalen voor instructies voor het ophalen van de verbindingsreeks. Hier volgt een voorbeeldconfiguratie: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";
Producer uitvoeren vanaf de opdrachtregel
Als u de producent vanaf de opdrachtregel wilt uitvoeren, genereert u de JAR en voert u deze vervolgens uit vanuit Maven (of genereert u de JAR met behulp van Maven en voert u deze uit in Java door een of meer benodigde Kafka-JAR's toe te voegen aan het klassepad):
mvn clean package
mvn exec:java -Dexec.mainClass="FlinkTestProducer"
De producent begint nu met het verzenden van gebeurtenissen naar de Event Hub bij het onderwerp test en het afdrukken van de gebeurtenissen naar stdout.
Flink consumer uitvoeren
Met behulp van het opgegeven consumentenvoorbeeld ontvangt u berichten van de Event Hub.
Een Event Hubs Kafka-eindpunt opgeven
consumer.config
Werk de waarden bootstrap.servers en sasl.jaas.config in consumer/src/main/resources/consumer.config bij om de consument met de juiste authenticatie naar het Event Hubs Kafka-eindpunt te leiden.
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}";
Belangrijk
Vervang {YOUR.EVENTHUBS.CONNECTION.STRING} door de verbindingsreeks voor uw Event Hubs-naamruimte. Zie Een verbindingsreeks voor Event Hubs ophalen voor instructies voor het ophalen van de verbindingsreeks. Hier volgt een voorbeeldconfiguratie: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";
Consument uitvoeren vanaf de opdrachtregel
Om de verbruiker vanaf de opdrachtregel uit te voeren, genereert u de JAR, waarna u deze vanuit Maven uitvoert. U kunt ook de JAR genereren met behulp van Maven en vervolgens in Java uitvoeren door een of meer benodigde Kafka-JAR's aan het klassepad toe te voegen.
mvn clean package
mvn exec:java -Dexec.mainClass="FlinkTestConsumer"
Als de Event Hub gebeurtenissen heeft (bijvoorbeeld als uw producent ook actief is), begint de consument nu met het ontvangen van gebeurtenissen uit het onderwerp test.
Bekijk de Kafka Connector Guide van Flink voor meer gedetailleerde informatie over het verbinden van Flink met Kafka.
Volgende stappen
Zie de volgende artikelen voor meer informatie over Event Hubs voor Kafka: