Быстрый старт
Примечание
В данный момент сервис доступен в ЦОД Москва Авантаж и Владивосток Снеговая. Ограничение ресурсов на один проект - 24 vCPU, 96 GB RAM, 500 GB SSD и не более 5 кластеров. Для увеличения доступных для создания кластера квот необходимо обратиться в поддержку — через раздел Обратная связь в CloudMTS Hub или через биллинг-виджет на странице создания кластера.
Создание кластера
Для создания кластера Apache Kafka®:
На странице Managed Service for Apache Kafka выполните одно из действий:
- Для создания дополнительного кластера нажмите кнопку Добавить.
- Для создания первого кластера нажмите кнопку Подключить.
В поле Название укажите имя кластера.
Опционально заполните описание создаваемого кластера.
В поле Дата-центр выберите необходимые регион и дата-центр.
Примечание
Ресурсы в различных дата-центрах могут тарифицироваться по-разному.
- Определите характеристики кластера. Выберите Версию Apache Kafka®, а также укажите необходимое количество брокеров в кластере - 1 для базовой конфигурации, 3 и более для отказоустойчивой.
Примечание
Количество брокеров влияет на отказоустойчивость и производительность кластера. Чем больше нагрузка на сервисы, тем больше брокеров нужно.
- При необходимости для отказоустойчивого кластера выберите Установить Cruise Control. Установка Cruise Control позволит изменять фактор репликации топиков, а также вы сможете выполнять балансировку кластера. Подробнее...
Важно
Функциональность сервиса, связанная с Cruise Control, является экспериментальной и в данный момент не тарифицируется.
- В поле Подсеть выберите Создать новую или выберите существующую подсеть.
Примечание
В каждом регионе создается отдельная сеть. Соответственно в каждом регионе доступен отдельный список подсетей, в которых можно будет разместить создаваемый кластер.
В поле Публичный адрес выберите один из вариантов:
- Выбрать — кластеру будет назначен выбранный публичный IP-адрес из доступных в проекте.
- Без адреса — кластер будет создан без публичного IP-адреса (приватный кластер).
- Новый — кластер будет создан с новым публичным IP-адресом.
Задайте Характеристики брокеров в составе кластера.
- Выберите конфигурацию ресурсов vCPU и RAM. Конфигурация ресурсов определяется типом инстанса, а типы инстансов включают в себя различные комбинации vCPU и RAM.
- Выберите желаемую гарантированную долю vCPU.
- Выберите Тип и размер диска.
В виджете биллинга нажмите кнопку Подключить.
Примечание
Создание кластера займет несколько минут.
Просмотр сведений о кластере
После создания кластер отображается в списке кластеров.
По клику на название кластера выполнится переход на страницу характеристик и настроек кластера.
Создание пользователей и топиков
После создания кластера необходимо добавить пользователей и топики.
В разделе Топики кликните кнопку Создать для добавления топика. Укажите название топика и при необходимости переопределите настройки по умолчанию.
В разделе Пользователи создайте пользователя, укажите логин и пароль и назначьте ему права доступа к ранее созданному топику, либо укажите Все топики.
Подключение к кластеру
Подключаться к кластеру Apache Kafka® можно как изнутри, так и извне CloudMTS:
- Чтобы подключиться изнутри CloudMTS, создайте виртуальную машину на основе Linux в той же сети, что и кластер.
- Чтобы подключиться к кластеру Apache Kafka® из интернета, включите публичный доступ к кластеру при его создании.
Для подключения к созданному кластеру:
Разверните сведения о нужном кластере на странице со списком кластеров.
Скопируйте адрес кластера в приложение, из которого будет осуществляться доступ к кластеру.
Укажите в настройках подключения реквизиты доступа - логин, пароль и механизм аутентификации.
Важно
- Для подключения к кластеру необходимо предварительно создать как минимум одного пользователя.
- Для аутентификации используется протокол
SASL_PLAINTEXT
и механизмSCRAM-SHA-512
.
Проверка подключения
Для проверки подключения воспользуйтесь GUI утилитой Offset Explorer.
Добавьте и настройте новое соединение.
На вкладке Properties укажите имя кластера. Настройки подключения к ZooKeeper указывать не требуется.
Важно
Доступ к портам ZooKeeper в сервисе Managed Service for Apache Kafka не предоставляется.
На вкладке Security выберите тип аутентификации -
SASL Plaintext
.На вкладке Advanced перечислите адреса брокеров в поле Bootstrap server. Также укажите механизм аутентификации -
SCRAM-SHA-512
.На вкладке JAAS Config введите строку с реквизитами доступа (логином и паролем пользователя):
shorg.apache.kafka.common.security.scram.ScramLoginModule required username="billing-service" password="user-secret";
Проверьте соединение, нажав на кнопку Test и сохраните настроенное соединение.
Соединение успешно создано.
Отправка и прием сообщений
Важно
Для отправки и приема сообщений необходимо предварительно создать топик и выдать на него необходимые права пользователю.
Примечание
Данный шаг предполагает, что подключение к кластеру производится из ОС на основе Linux.
Вы можете подключить производителя и потребителя к кластеру от имени одного пользователя. И производитель, и потребитель смогут работать только с теми топиками, доступ к которым разрешен для данного пользователя.
Для тестирования отправки и приема сообщений воспользуйтесь утилитой командной строки (CLI) kcat — это приложение с открытым исходным кодом, которое может работать как универсальный производитель или потребитель данных. Подробнее...
Установите утилиту:
shsudo apt install -y kafkacat
Запустите команду получения сообщений из топика:
shkcat -C \ -b <IP брокера>:9091 \ -t <имя топика> \ -X security.protocol=SASL_PLAINTEXT \ -X sasl.mechanisms=SCRAM-SHA-512 \ -X sasl.username="<логин потребителя>" \ -X sasl.password="<пароль потребителя>" -o end
Команда будет непрерывно считывать новые сообщения из топика.
В отдельном терминале запустите команду отправки сообщения в топик:
shecho "abc test message" | kcat -P \ -b <IP брокера>:9091 \ -t <имя топика> \ -X security.protocol=SASL_PLAINTEXT \ -X sasl.mechanisms=SCRAM-SHA-512 \ -X sasl.username="<логин производителя>" \ -X sasl.password="<пароль производителя>"
Убедитесь, что в первом терминале отобразилось сообщение
abc test message
, отправленное во втором:первый терминал (consumer):
shkcat -C \ -b 91.185.95.69:9091 \ -t billing-balance \ -X security.protocol=SASL_PLAINTEXT \ -X sasl.mechanisms=SCRAM-SHA-512 \ -X sasl.username="billing-service" \ -X sasl.password="user-secret" -o end % Reached end of topic billing-balance [0] at offset 0 abc test message % Reached end of topic billing-balance [0] at offset 1 1234567890 % Reached end of topic billing-balance [0] at offset 2
второй терминал (producer):
shecho "abc test message" | kcat -P \ -b 91.185.95.69:9091 \ -t billing-balance \ -X security.protocol=SASL_PLAINTEXT \ -X sasl.mechanisms=SCRAM-SHA-512 \ -X sasl.username="billing-service" \ -X sasl.password="user-secret" echo "1234567890" | kcat -P \ -b 91.185.95.69:9091 \ -t billing-balance \ -X security.protocol=SASL_PLAINTEXT \ -X sasl.mechanisms=SCRAM-SHA-512 \ -X sasl.username="billing-service" \ -X sasl.password="user-secret"
Важно
Для потребления сообщений из топика в составе группы предварительно выдайте необходимые права пользователю. По умолчанию такой доступ не предоставляется.
Совет
При возникновении проблем создайте заявку в разделе Поддержка окна Обратная связь.