Конференция Arenadata
ArenaTech 2026 – для всех, кому интересны технологии Big Data
Приглашаем вас принять участие в технической онлайн-конференции, посвященной работе с большими данными. Участие бесплатно для всех желающих.

В программе 3 блока докладов:

  • СУБД: архитектура и эксплуатация. Обсудим новые возможности Greengage DB и Arenadata DB на его основе, включая hot standby, обзор утилиты изменения кластерной топологии ggrebalance, вопросы безопасности и устранения CVE.
  • Платформа данных: безопасность и Kubernetes в ADH, аналитика в ADQM. Расскажем об управлении секретами и доступом в Arenadata Hyperwave с использованием OpenBao, особенности переноса сервисов в Kubernetes, а также про аналитические методы в инструментах ADQM.
  • Инструменты: кластерный менеджер, документация, ИИ-поиск. Поделимся опытом разработки технической документации (включая интеллектуальный поиск и ИИ-ассистент) и поговорим про развитие нашего кластерного менеджера ADCM.
Онлайн-конференция состоится 29 октября 2026 года, время трансляции: с 12:00 до 19:00 по московскому времени.
Осталось до события

Начало работы c Kafka

В данной статье описаны первые шаги для начала работы с Kafka.

Установка и запуск среды Kafka c использованием ADCM

  1. Для установки и запуска среды Kafka c использованием ADCM в кластере ADS необходимо установить сервис Kafka.

  2. После установки в интерфейсе ADCM для сервиса необходимо применить действие Start, нажав на иконку actions default dark actions default light в столбце Actions и дождаться успешного завершения запуска.

    Запуск сервиса в интерфейсе ADCM
    Запуск сервиса в интерфейсе ADCM

    В результате на соответствующих хостах установлена среда Kafka и запускаются серверы Kafka broker.

ПРИМЕЧАНИЕ

Установка сервисов описана в статьях Online-установка, Offline-установка.

Подключение к Kafka

При установке Kafka на хостах создается новая директория /usr/lib/kafka/bin. Она содержит файлы c расширением .sh — скрипты для выполнения команд в среде Kafka. Для просмотра директории необходимо выполнить следующую команду:

$ ls -la /usr/lib/kafka/bin

Работа с сервисом Kafka происходит путем запуска соответствующих скриптов в командной строке. Обычно скрипты запускают, находясь в папке /usr/lib/kafka, указывая в команде часть пути bin/. Перейти в нужную директорию можно, используя команду:

$ cd /usr/lib/kafka

Создание топика

Для того чтобы записать сообщения в Kafka, необходимо создать топик. Это осуществляется при помощи скрипта kafka-topics.sh и опции --create c любого хоста кластера, на котором установлен сервис Kafka.

Для создания топика необходимо выполнить следующую команду:

$ bin/kafka-topics.sh --create --topic <topic_name> --bootstrap-server <hostname>:9092

где (в данной команде и ниже):

  • <topic_name> — название топика;

  • <hostname> — имя хоста, где создается топик;

  • 9092 — HTTP-порт доступа к сервису Kafka.

В результате появляется сообщение:

Created topic <topic_name>.
ПРИМЕЧАНИЕ

Название топика может включать буквенно-цифровые символы (включая ASCII), а также символы ., _ и -.

Для просмотра данных о существующем топике используется скрипт kafka-topics.sh и опция --describe.

Для просмотра данных о топике необходимо выполнить следующую команду:

$ bin/kafka-topics.sh --describe --topic <topic_name> --bootstrap-server <hostname>:9092

В результате выводятся данные о запрошенном топике в виде:

Topic: <topic_name> 	TopicId: STGaaB8QSF64s06MRtp-YA	PartitionCount: 1	ReplicationFactor: 1	Configs: unclean.leader.election.enable=false
Topic: <topic_name> 	Partition: 0	Leader: 1001	Replicas: 1001	Isr: 1001

Здесь указано, что созданный топик обладает следующими параметрами:

  • количество партиций — 1;

  • коэффициент репликации — 1;

  • обозначение брокера-лидера для данной партиции — 1001;

  • настройка unclean.leader.election.enable выключена.

ПРИМЕЧАНИЕ

Для просмотра других действий, которые выполняет скрипт kafka-topics.sh, необходимо выполнить команду:

$ bin/kafka-topics.sh

Запись сообщения в топик

Запись сообщения в топик производится при помощи скрипта kafka-console-producer.sh c любого хоста кластера, на котором установлен сервис Kafka.

РЕКОМЕНДАЦИЯ

Создание топика происходит автоматически при использовании скрипта kafka-console-producer.sh, если вы включите параметр auto.create.topics.enable в группе server.properties при настройке сервиса Kafka.

Для записи сообщения в топик <topic_name> необходимо:

  1. Выполнить следующую команду:

    $ bin/kafka-console-producer.sh --topic <topic_name> --bootstrap-server <hostname>:9092

    При этом запускается режим записи сообщений.

  2. На следующей строке после ввода команды ввести необходимые сообщения, каждое на новой строке. Запись сообщения и переход на новую строку производится при помощи Enter. Например, таким образом вводится несколько сообщений, каждое на своей строке:

    >Sunday
    >Monday
    >Tuesday
    >Wednesday
    >Thursday
    >Friday
    >Saturday
  3. Выйти из режима записи сообщений, для этого необходимо:

    • после записи последнего сообщения перейти на следующую строку;

    • нажать Ctrl+C.

ПРИМЕЧАНИЕ

Для просмотра других опций, которые можно применить при выполнении скрипта kafka-console-producer.sh, необходимо выполнить команду:

$ bin/kafka-console-producer.sh

Чтение сообщений из топика

Чтение сообщений из топика производится при помощи скрипта kafka-console-consumer.sh c любого хоста кластера, на котором установлен сервис Kafka.

Чтение сообщений с начала партиции

Для чтения сообщений из топика <topic_name> с самого первого сообщения, записанного в партицию, необходимо выполнить следующую команду с использованием опции --from-beginning:

$ bin/kafka-console-consumer.sh --topic <topic_name> --from-beginning --bootstrap-server <hostname>:9092

При этом запускается режим чтения сообщений. Сообщения считываются в том же порядке, как они были записаны:

Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday

Выход из режима чтения сообщений осуществляется при помощи Ctrl+C.

РЕКОМЕНДАЦИЯ
Если в этот же топик при помощи kafka-console-producer.sh с другой терминальной сессии записывать сообщения, в режиме чтения можно их сразу считывать.

Чтение сообщений с заданного смещения

Для чтения сообщений из топика <topic_name> начиная со смещения 4 (Thursday) необходимо выполнить следующую команду с использованием опций указания партиции --partition 0 и смещения --offset 4:

$ bin/kafka-console-consumer.sh --topic <topic_name> --partition 0 --offset 4 --bootstrap-server <hostname>:9092

Результатом будет вывод сообщений, записанных начиная со смещения 4:

Thursday
Friday
Saturday
ПРИМЕЧАНИЕ

Для просмотра других опций, которые можно применить при выполнении скрипта kafka-console-consumer.sh, необходимо выполнить команду:

$ bin/kafka-console-consumer.sh

Завершение работы в среде Kafka

Для остановки сервиса в интерфейсе ADCM необходимо применить действие Stop, нажав на иконку actions default dark actions default light в столбце Actions и дождаться успешного завершения действия.

Остановка сервиса в интерфейсе ADCM
Остановка сервиса в интерфейсе ADCM
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней