Skip to content
На этой странице:

Быстрый старт

Примечание

В данный момент сервис доступен в ЦОД Москва Авантаж и Владивосток Снеговая. Ограничение ресурсов на один проект - 24 vCPU, 96 GB RAM, 500 GB SSD и не более 5 кластеров. Для увеличения доступных для создания кластера квот необходимо обратиться в поддержку — через раздел Обратная связь в CloudMTS Hub или через биллинг-виджет на странице создания кластера.

Создание кластера

Для создания кластера Apache Kafka®:

  1. На странице Managed Service for Apache Kafka выполните одно из действий:

    • Для создания дополнительного кластера нажмите кнопку Добавить.
    • Для создания первого кластера нажмите кнопку Подключить.
  2. В поле Название укажите имя кластера.

  3. Опционально заполните описание создаваемого кластера.

  4. В поле Дата-центр выберите необходимые регион и дата-центр.

Примечание

Ресурсы в различных дата-центрах могут тарифицироваться по-разному.

  1. Определите характеристики кластера. Выберите Версию Apache Kafka®, а также укажите необходимое количество брокеров в кластере - 1 для базовой конфигурации, 3 и более для отказоустойчивой.

Примечание

Количество брокеров влияет на отказоустойчивость и производительность кластера. Чем больше нагрузка на сервисы, тем больше брокеров нужно.

  1. При необходимости для отказоустойчивого кластера выберите Установить Cruise Control. Установка Cruise Control позволит изменять фактор репликации топиков, а также вы сможете выполнять балансировку кластера. Подробнее...

Важно

Функциональность сервиса, связанная с Cruise Control, является экспериментальной и в данный момент не тарифицируется.

  1. В поле Подсеть выберите Создать новую или выберите существующую подсеть.

Примечание

В каждом регионе создается отдельная сеть. Соответственно в каждом регионе доступен отдельный список подсетей, в которых можно будет разместить создаваемый кластер.

  1. В поле Публичный адрес выберите один из вариантов:

    • Выбрать — кластеру будет назначен выбранный публичный IP-адрес из доступных в проекте.
    • Без адреса — кластер будет создан без публичного IP-адреса (приватный кластер).
    • Новый — кластер будет создан с новым публичным IP-адресом.
  2. Задайте Характеристики брокеров в составе кластера.

    • Выберите конфигурацию ресурсов vCPU и RAM. Конфигурация ресурсов определяется типом инстанса, а типы инстансов включают в себя различные комбинации vCPU и RAM.
    • Выберите желаемую гарантированную долю vCPU.
    • Выберите Тип и размер диска.
  3. В виджете биллинга нажмите кнопку Подключить.

Примечание

Создание кластера займет несколько минут.

Просмотр сведений о кластере

После создания кластер отображается в списке кластеров.

По клику на название кластера выполнится переход на страницу характеристик и настроек кластера.

Создание пользователей и топиков

После создания кластера необходимо добавить пользователей и топики.

  1. В разделе Топики кликните кнопку Создать для добавления топика. Укажите название топика и при необходимости переопределите настройки по умолчанию.

  2. В разделе Пользователи создайте пользователя, укажите логин и пароль и назначьте ему права доступа к ранее созданному топику, либо укажите Все топики.

Подключение к кластеру

Подключаться к кластеру Apache Kafka® можно как изнутри, так и извне CloudMTS:

  • Чтобы подключиться изнутри CloudMTS, создайте виртуальную машину на основе Linux в той же сети, что и кластер.
  • Чтобы подключиться к кластеру Apache Kafka® из интернета, включите публичный доступ к кластеру при его создании.

Для подключения к созданному кластеру:

  1. Разверните сведения о нужном кластере на странице со списком кластеров.

  2. Скопируйте адрес кластера в приложение, из которого будет осуществляться доступ к кластеру.

  3. Укажите в настройках подключения реквизиты доступа - логин, пароль и механизм аутентификации.

Важно

  • Для подключения к кластеру необходимо предварительно создать как минимум одного пользователя.
  • Для аутентификации используется протокол SASL_PLAINTEXT и механизм SCRAM-SHA-512.

Проверка подключения

Для проверки подключения воспользуйтесь GUI утилитой Offset Explorer.

  1. Добавьте и настройте новое соединение.

  2. На вкладке Properties укажите имя кластера. Настройки подключения к ZooKeeper указывать не требуется.

Важно

Доступ к портам ZooKeeper в сервисе Managed Service for Apache Kafka не предоставляется.

  1. На вкладке Security выберите тип аутентификации - SASL Plaintext.

  2. На вкладке Advanced перечислите адреса брокеров в поле Bootstrap server. Также укажите механизм аутентификации - SCRAM-SHA-512.

  3. На вкладке JAAS Config введите строку с реквизитами доступа (логином и паролем пользователя):

    sh
    org.apache.kafka.common.security.scram.ScramLoginModule required username="billing-service" password="user-secret";

  4. Проверьте соединение, нажав на кнопку Test и сохраните настроенное соединение.

Соединение успешно создано.

Отправка и прием сообщений

Важно

Для отправки и приема сообщений необходимо предварительно создать топик и выдать на него необходимые права пользователю.

Примечание

Данный шаг предполагает, что подключение к кластеру производится из ОС на основе Linux.

Вы можете подключить производителя и потребителя к кластеру от имени одного пользователя. И производитель, и потребитель смогут работать только с теми топиками, доступ к которым разрешен для данного пользователя.

Для тестирования отправки и приема сообщений воспользуйтесь утилитой командной строки (CLI) kcat — это приложение с открытым исходным кодом, которое может работать как универсальный производитель или потребитель данных. Подробнее...

  1. Установите утилиту:

    sh
    sudo apt install -y kafkacat
  2. Запустите команду получения сообщений из топика:

    sh
    kcat -C \
    -b <IP брокера>:9091 \
    -t <имя топика> \
    -X security.protocol=SASL_PLAINTEXT \
    -X sasl.mechanisms=SCRAM-SHA-512 \
    -X sasl.username="<логин потребителя>" \
    -X sasl.password="<пароль потребителя>" -o end

    Команда будет непрерывно считывать новые сообщения из топика.

  3. В отдельном терминале запустите команду отправки сообщения в топик:

    sh
    echo "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="<пароль производителя>"
  4. Убедитесь, что в первом терминале отобразилось сообщение abc test message, отправленное во втором:

    • первый терминал (consumer):

      sh
      kcat -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):

      sh
      echo "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"

    Важно

    Для потребления сообщений из топика в составе группы предварительно выдайте необходимые права пользователю. По умолчанию такой доступ не предоставляется.

Совет

При возникновении проблем создайте заявку в разделе Поддержка окна Обратная связь.