Udostępnij za pośrednictwem


Korzystanie z platformy Apache Flink z usługą Azure Event Hubs dla platformy Apache Kafka

W tym samouczku pokazano, jak połączyć usługę Apache Flink z centrum zdarzeń bez konieczności zmieniania klientów protokołu lub uruchamiania własnych klastrów. Aby uzyskać więcej informacji na temat obsługi protokołu klienta platformy Apache Kafka w usłudze Event Hubs dla platformy Apache Kafka, zobacz Event Hubs for Apache Kafka.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Tworzenie przestrzeni nazw usługi Event Hubs
  • Klonowanie projektu przykładowego
  • Uruchamianie producenta Flink
  • Uruchamianie użytkownika Flink

Uwaga

Ten przykład jest dostępny w witrynie GitHub

Wymagania wstępne

Aby ukończyć ten samouczek, upewnij się, że masz następujące wymagania wstępne:

  • Zapoznaj się z artykułem Usługa Event Hubs dla platformy Apache Kafka.
  • Subskrypcja Azure. Jeśli nie masz subskrypcji, przed rozpoczęciem utwórz bezpłatne konto.
  • Zestaw Java Development Kit (JDK) 1.7+
    • W systemie Ubuntu uruchom polecenie apt-get install default-jdk, aby zainstalować zestaw JDK.
    • Upewnij się, że zmienna środowiskowa JAVA_HOME wskazuje folder, w którym zainstalowano zestaw JDK.
  • Pobieranie i instalowanie archiwum binarnego maven
    • W systemie Ubuntu możesz uruchomić polecenie apt-get install maven, aby zainstalować narzędzie Maven.
  • Usługa Git
    • W systemie Ubuntu możesz uruchomić polecenie sudo apt-get install git, aby zainstalować usługę Git.

Tworzenie przestrzeni nazw usługi Event Hubs

Przestrzeń nazw usługi Event Hubs jest wymagana do wysyłania lub odbierania z dowolnej usługi Event Hubs. Aby uzyskać instrukcje dotyczące tworzenia przestrzeni nazw i centrum zdarzeń, zobacz Tworzenie centrum zdarzeń. Pamiętaj, aby skopiować parametry połączenia usługi Event Hubs do późniejszego użycia.

Klonowanie projektu przykładowego

Teraz, gdy masz parametry połączenia usługi Event Hubs, sklonuj repozytorium Usługi Azure Event Hubs dla platformy Kafka i przejdź do podfolderuflink:

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

Korzystając z podanego przykładu producenta Flink, wyślij komunikaty do usługi Event Hubs.

Podawanie punktu końcowego platformy Kafka usługi Event Hubs

producer.config

bootstrap.servers Zaktualizuj wartości isasl.jaas.config, producer/src/main/resources/producer.config aby skierować producenta do punktu końcowego platformy Kafka usługi Event Hubs przy użyciu poprawnego uwierzytelniania.

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

Ważne

Zastąp {YOUR.EVENTHUBS.CONNECTION.STRING} element parametry połączenia przestrzeni nazw usługi Event Hubs. Aby uzyskać instrukcje dotyczące uzyskiwania parametry połączenia, zobacz Pobieranie parametry połączenia usługi Event Hubs. Oto przykładowa konfiguracja: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";

Uruchamianie producenta z wiersza polecenia

Aby uruchomić producenta z wiersza polecenia, wygeneruj plik JAR, a następnie uruchom go z poziomu narzędzia Maven (lub wygeneruj plik JAR przy użyciu narzędzia Maven, a następnie uruchom polecenie w języku Java, dodając niezbędne pliki JAR platformy Kafka do ścieżki klasy):

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

Producent rozpocznie teraz wysyłanie zdarzeń do centrum zdarzeń w temacie test i drukowanie zdarzeń do stdout.

Korzystając z podanego przykładu odbiorcy, odbieraj komunikaty z centrum zdarzeń.

Podawanie punktu końcowego platformy Kafka usługi Event Hubs

consumer.config

bootstrap.servers Zaktualizuj wartości i sasl.jaas.config , consumer/src/main/resources/consumer.config aby przekierować użytkownika do punktu końcowego platformy Kafka usługi Event Hubs przy użyciu poprawnego uwierzytelniania.

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

Ważne

Zastąp {YOUR.EVENTHUBS.CONNECTION.STRING} element parametry połączenia przestrzeni nazw usługi Event Hubs. Aby uzyskać instrukcje dotyczące uzyskiwania parametry połączenia, zobacz Pobieranie parametry połączenia usługi Event Hubs. Oto przykładowa konfiguracja: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";

Uruchamianie użytkownika z wiersza polecenia

Aby uruchomić użytkownika z wiersza polecenia, wygeneruj plik JAR, a następnie uruchom go z poziomu narzędzia Maven (lub wygeneruj plik JAR przy użyciu narzędzia Maven, a następnie uruchom polecenie w języku Java, dodając niezbędne pliki JAR platformy Kafka do ścieżki klasy):

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

Jeśli centrum zdarzeń zawiera zdarzenia (na przykład jeśli producent jest również uruchomiony), odbiorca zaczyna teraz odbierać zdarzenia z tematu test.

Aby uzyskać bardziej szczegółowe informacje na temat nawiązywania połączenia Flink z platformą Kafka, zapoznaj się z przewodnikiem łącznika platformy Kafka w języku Flink.

Następne kroki

Aby dowiedzieć się więcej o usłudze Event Hubs dla platformy Kafka, zobacz następujące artykuły: