Как начать работать с Managed Service for Apache Kafka®
Чтобы начать работу с сервисом:
Перед началом работы
-
Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь, если вы еще не зарегистрированы. -
Если у вас еще нет каталога, создайте его:
-
В консоли управления
в списке слева выберите нужное облако. -
Справа сверху нажмите кнопку Создать каталог.
-
Введите имя каталога. Требования к имени:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
(Опционально) Введите описание каталога.
-
Выберите опцию Создать сеть по умолчанию. Будет создана сеть с подсетями в каждой зоне доступности. Также в этой сети будет создана группа безопасности по умолчанию, внутри которой весь сетевой трафик разрешен.
-
Нажмите кнопку Создать.
-
-
Убедитесь, что для создания кластера у вашего аккаунта есть роль vpc.user и роль managed-kafka.editor или выше.
-
Подключаться к кластеру Apache Kafka® можно как изнутри, так и извне Yandex Cloud:
-
Подключитесь к ВМ по SSH.
Примечание
Предполагается, что подключение к кластеру производится с ВМ на основе Linux.
-
Установите утилиту
kafkacat
— приложение с открытым исходным кодом, которое может работать как универсальный производитель или потребитель данных:sudo apt-get install kafkacat
Создайте кластер
Чтобы создать кластер:
- В консоли управления выберите каталог, в котором нужно создать кластер.
- Выберите сервис Managed Service for Kafka.
- Нажмите кнопку Создать кластер.
- Задайте параметры кластера и нажмите кнопку Создать. Процесс подробно рассмотрен в разделе Создание кластера.
- Дождитесь, когда кластер будет готов к работе: его статус на панели Managed Service for Apache Kafka® сменится на
Running
, а состояние — наAlive
. Это может занять некоторое время.
Затем создайте топик в кластере.
Создайте топик
Топик — это способ группировки потоков сообщений по категориям. Производители пишут сообщения в топик, а потребители читают сообщения из него.
Чтобы создать топик:
- В консоли управления выберите каталог, в котором находится кластер.
- Выберите сервис Managed Service for Kafka.
- Нажмите на имя созданного ранее кластера, затем выберите вкладку Топики.
- Нажмите кнопку Создать топик.
- Задайте настройки топика и нажмите кнопку Создать. Процесс подробно рассмотрен в разделе Управление топиками Apache Kafka®.
Затем создайте пользователей для производителей и потребителей.
Создайте пользователя
Настройки пользователей разграничивают права доступа производителей и потребителей к топикам в кластере.
Чтобы создать пользователя:
- В консоли управления выберите каталог, в котором находится кластер.
- Выберите сервис Managed Service for Kafka.
- Нажмите на имя созданного ранее кластера, затем выберите вкладку Пользователи.
- Нажмите кнопку Создать пользователя.
- Введите имя пользователя и пароль (от 8 до 128 символов).
- Нажмите кнопку
Добавить топик и выберите созданный ранее топик из выпадающего списка. - Добавьте права на доступ к этому топику для производителя и потребителя. Процесс подробно рассмотрен в разделе Управление пользователями.
- Нажмите кнопку Создать.
Затем подключитесь к кластеру, используя это имя пользователя.
Подключитесь к кластеру
Вы можете подключить производителя и потребителя к кластеру от имени одного пользователя. И производитель и потребитель смогут работать только с теми топиками, доступ к которым разрешен для данного пользователя.
Чтобы подключиться к кластеру:
-
Если вы используете группы безопасности для облачной сети, настройте их так, чтобы был разрешен весь необходимый трафик между кластером и хостом, с которого выполняется подключение.
-
Установите на ВМ SSL-сертификат:
Linux (Bash)/macOS (Zsh)Windows (PowerShell)mkdir -p /usr/local/share/ca-certificates/Yandex/ && \ wget "https://storage.yandexcloud.net/cloud-certs/CA.pem" \ --output-document /usr/local/share/ca-certificates/Yandex/YandexInternalRootCA.crt && \ chmod 0655 /usr/local/share/ca-certificates/Yandex/YandexInternalRootCA.crt
Сертификат будет сохранен в файле
/usr/local/share/ca-certificates/Yandex/YandexInternalRootCA.crt
.mkdir $HOME\.kafka; curl.exe -o $HOME\.kafka\YandexInternalRootCA.crt https://storage.yandexcloud.net/cloud-certs/CA.pem
Сертификат будет сохранен в файле
$HOME\.kafka\YandexInternalRootCA.crt
.Корпоративные политики и антивирус могут блокировать скачивание сертификата. Подробнее см. в разделе Вопросы и ответы.
-
Чтобы отправить сообщение в топик, выполните команду:
echo "test message" | kafkacat -P \ -b <FQDN_брокера>:9091 \ -t <имя_топика> \ -k key \ -X security.protocol=SASL_SSL \ -X sasl.mechanism=SCRAM-SHA-512 \ -X sasl.username="<логин_производителя>" \ -X sasl.password="<пароль_производителя>" \ -X ssl.ca.location=/usr/local/share/ca-certificates/Yandex/YandexInternalRootCA.crt -Z
В команде укажите FQDN брокера, имя топика, логин и пароль пользователя Apache Kafka®, созданного ранее.
Как получить FQDN хоста-брокера, см. в инструкции.
-
Чтобы получить сообщения из топика, выполните команду:
kafkacat -C \ -b <FQDN_брокера>:9091 \ -t <имя_топика> \ -X security.protocol=SASL_SSL \ -X sasl.mechanism=SCRAM-SHA-512 \ -X sasl.username="<логин_потребителя>" \ -X sasl.password="<пароль_потребителя>" \ -X ssl.ca.location=/usr/local/share/ca-certificates/Yandex/YandexInternalRootCA.crt -Z -K:
В команде укажите FQDN брокера, имя топика, логин и пароль пользователя Apache Kafka®, созданного ранее.
Как получить FQDN хоста-брокера, см. в инструкции.
Подробно процесс подключения к кластеру Managed Service for Apache Kafka® рассмотрен в разделе Подключение к топикам в кластере.
Что дальше
- Изучите концепции сервиса.
- Узнайте подробнее о создании кластера и подключении к кластеру.