Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве показано, как подключить Apache Flink к концентратору событий без изменения клиентов протокола или запуска собственных кластеров. Дополнительные сведения о поддержке концентраторами событий протокола потребителя Apache Kafka см. в разделе Центры событий для Apache Kafka.
В этом руководстве описано следующее:
- Создание пространства имен в Event Hubs
- Клонирование примера проекта
- Запуск производителя Flink
- Запуск потребителя Flink
Примечание.
Этот пример можно найти на сайте GitHub.
Предварительные требования
Для работы с этим руководством выполните следующие предварительные требования:
- Прочтите статью Event Hubs for Apache Kafka.
- Подписка Azure. Если у вас еще нет аккаунта, создайте бесплатную учетную запись, прежде чем начать.
-
Комплект разработчика Java (JDK 1.7+)
- В Ubuntu выполните команду
apt-get install default-jdk
, чтобы установить JDK. - Обязательно настройте переменную среды JAVA_HOME так, чтобы она указывала на папку, в которой установлен пакет JDK.
- В Ubuntu выполните команду
-
Скачивание и установка двоичного архива Maven
- В Ubuntu выполните команду
apt-get install maven
, чтобы установить Maven.
- В Ubuntu выполните команду
-
Git
- В Ubuntu выполните команду
sudo apt-get install git
, чтобы установить Git.
- В Ubuntu выполните команду
Создайте пространство имен в Event Hubs
Для отправки или получения данных из любой службы концентраторов событий необходимо наличие пространства имен концентраторов событий. См. раздел Создание концентратора событий для получения инструкций по созданию пространства имен и концентратора событий. Скопируйте строку подключения к Центрам событий для дальнейшего использования.
Клонирование примера проекта
Теперь, когда у вас есть строка подключения к Event Hubs, клонируйте репозиторий Azure Event Hubs для Kafka и перейдите в подкаталог flink
.
git clone https://github.com/Azure/azure-event-hubs-for-kafka.git
cd azure-event-hubs-for-kafka/tutorials/flink
Запуск производителя Flink
Используя предоставленный пример производителя Flink, отправьте сообщения в службу Центров событий.
Предоставьте конечную точку Kafka в Центрах событий
producer.config
Обновите значения bootstrap.servers
и sasl.jaas.config
в producer/src/main/resources/producer.config
, чтобы направить производителя на конечную точку Kafka в Event Hubs с правильной аутентификацией.
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}";
Внимание
Замените {YOUR.EVENTHUBS.CONNECTION.STRING}
строками подключения для вашего пространства имен Центров событий. Инструкции по получению строки подключения см. в статье Получение строки подключения Центров событий. Пример конфигурации см. здесь: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";
Запуск производителя из командной строки
Чтобы запустить производителя из командной строки, создайте JAR-файл и запустите его из Maven (или создайте JAR-файл с помощью Maven, а затем запустите в Java, добавив один или несколько необходимых JAR Kafka в классpath):
mvn clean package
mvn exec:java -Dexec.mainClass="FlinkTestProducer"
**
Теперь производитель начнет отправлять события в тему test
концентратора событий и выводить события на стандартный вывод.
Запуск потребителя Flink
Используя предоставленный пример потребителя, получите сообщения от концентратора событий.
Предоставить конечную точку Kafka для Event Hubs
consumer.config
Обновите значения bootstrap.servers
и sasl.jaas.config
в consumer/src/main/resources/consumer.config
, чтобы перенаправить потребителя на конечную точку Kafka в Центрах событий с правильной аутентификацией.
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}";
Внимание
Замените {YOUR.EVENTHUBS.CONNECTION.STRING}
строкой подключения для вашего пространства имен Центров событий. Инструкции по получению строки подключения см. в статье Получение строки подключения Центров событий. Пример конфигурации см. здесь: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXX";
Запуск потребителя из командной строки
Чтобы запустить потребитель из командной строки, создайте JAR-файл и выполните его из Maven (или создайте JAR-файл с помощью Maven, а затем запустите в Java, добавив один или несколько необходимых JAR Kafka в класс-путь).
mvn clean package
mvn exec:java -Dexec.mainClass="FlinkTestConsumer"
Если в концентраторе событий есть события (например, если ваш продюсер также работает), то теперь потребитель начинает получать события из темы test
.
Дополнительные сведения о подключении Flink к Kafka см. в руководстве по соединителю Kafka Flink.
Следующие шаги
Дополнительные сведения о концентраторах событий для Kafka см. в следующих статьях: