В прошлый раз мы говорили про использование и настройку пользовательских сериализаторов в брокере Кафка. Сегодня поговорим про основные операции над топиками в Кафка. Читайте далее про основные операции над Kafka-топиками, благодаря которым Кафка может эффективно обрабатывать Big Data и распределять ресурсы в параллельной среде.
Что такое топик в Кафка и какие операции над ним выполняются
Кафка-топик — это способ группировки и распределения потоков Big Data сообщений по категориям. Продюсеры (producers) публикуют сообщения определенной категории в топик, а потребители (consumer) подписываются на этот топик и читают из него сообщения в момент их поступления. Для каждого топика брокер Кафка ведет журнал сообщений, который разбивается на несколько разделов. В Кафка можно выполнять следующие 2 базовые с топиками [1]:
- создание нового топика — операция, отвечающая за создание топика, который включает в себя название, коэффициент репликации (характеризует количество реплик в кластере, отвечающих за копирование данных для повышения доступности и отказоустойчивости), а также количество разделов, которые отвечают за упорядочивание сообщений в зависимости от их поступления;
- удаление топика — отвечает за удаление неактуальных топиков с целью освобождения ресурсов.
Применение базовых операций с Кафка-топиком на практических примерах
За проведение операции с темами отвечает утилита kafka-topics.sh (в Windows kafka-topics.bat). Для того, чтобы создать новый топик, применяются 2 команды: create
и topic
. При этом команда topic
является параметром команды create
. Команда topic
принимает в качестве параметра имя создаваемого топика. В качестве примера рассмотрим выполнение следующего кода в командной строке Linux [1]:
kafka-topics.sh --zookeeper zoo1.example.com:2181/kafka-cluster --create --topic my-topic --replication-factor 2 --partitions 8
В вышерассмотренном фрагменте кода помимо команд create
и topic
, также указаны 2 другие команды:
replication-factor
— команда, отвечающая за количество реплик в топике (коэффициент репликации);partitions
— команда, задающая количество разделов для создаваемого топика.
Часто бывают случаи, когда необходимо увеличить количество разделов в уже существующем топике. За это отвечает команда утилиты kafka-topics.sh для изменения параметров топика alter
, которая, как и create
, используется совместно с командой topic
[1]:
kafka-topics.sh --zookeeper zoo1.example.com:2181/kafka-cluster --alter --topic my-topic --partitions 16
Для того, чтобы удалить созданный топик, используется команда delete, которая также выполняется совместно с командой topic [1]:
kafka-topics.sh --zookeeper zoo1.example.com:2181/kafka-cluster --delete --topic my-topic
Таким образом, благодаря утилите kafka-topics.sh, брокер Кафка имеет возможность удобной работы с топиками Big Data без дополнительных затрат времени на разработку. Это делает Кафка универсальным и надежным средством для хранения и обмена большими потоками данных, что позволяет активно использовать этот брокер сообщений в задачах Data Science и разработке распределенных приложений.
Администрирование кластера Kafka
Код курса
KAFKA
Ближайшая дата курса
9 декабря, 2024
Продолжительность
24 ак.часов
Стоимость обучения
72 000 руб.
Освоить Apache Kafka на профессиональном уровне в качестве администратора Big Data кластеров, разработчика распределенных приложений и прочих прикладных областях Data Science вы сможете на практических курсах по Кафка в нашем лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве:
- Администрирование кластера Kafka
- Apache Kafka для разработчиков
- Администрирование кластера Arenadata Streaming Kafka
Источники
- Н.Нархид, Г.Шапира, Т.Палино. Apache Kafka. Потоковая обработка и анализ данных