CMAK - Визуальное управление кластерами Apache Kafka

02 Aug, 2023

Репозиторий давно не обновлялся

Последнее обновление было 2 года назад.

11,926
🔱 2,479
👥 518

Когда ваши Kafka-кластеры разрастаются до десятков брокеров и сотен топиков, стандартные инструменты администрирования перестают справляться. Как эффективно мониторить состояние системы, перераспределять партиции или быстро находить проблемные потребители? Именно для этих задач создан CMAK (Cluster Manager for Apache Kafka) — open-source решение от Yahoo, которое уже собрало более 11 тысяч звезд на GitHub.

Почему стоит обратить внимание на CMAK?

Представьте, что вам нужно:

  • Проверить отставание (lag) потребителей
  • Перераспределить партиции между брокерами
  • Создать новый топик с учетом всех best practices

С командной строкой или стандартными утилитами Kafka эти задачи превращаются в многочасовой квест. CMAK же предоставляет удобный веб-интерфейс для всех этих операций.

Ключевые возможности

1. Централизованное управление множеством кластеров

Управление кластерами

CMAK позволяет работать с несколькими Kafka-кластерами из единой панели управления. Больше не нужно запоминать различные Zookeeper-хосты или переключаться между терминалами.

Реклама

2. Детальный мониторинг состояния

Список топиков

С первого взгляда видно:

  • Распределение партиций по брокерам
  • Отставание потребителей
  • Нагрузку на отдельные топики
  • Проблемы с репликацией

3. Оперативное управление топиками

Создание, удаление, изменение конфигурации топиков — все это делается в пару кликов. Особенно удобна функция пакетного создания топиков с автоматическим распределением партиций.

4. Перераспределение партиций

CMAK предлагает:

  • Автоматическую генерацию схемы распределения
  • Визуальный контроль перед применением изменений
  • Пакетное выполнение операций

Технические особенности

Проект написан на Scala и использует:

  • Play Framework для веб-интерфейса
  • Apache Curator для работы с Zookeeper
  • JMX-метрики для мониторинга

Для работы требуется Java 11+ и Kafka версий от 0.8 до 2.8.

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

Основная конфигурация предельно проста:

cmak.zkhosts="zk1.example.com:2181,zk2.example.com:2181"

Для больших кластеров можно настроить параметры производительности:

cmak.broker-view-thread-pool-size=30
cmak.broker-view-max-queue-size=3000
cmak.broker-view-update-seconds=30

Кому пригодится CMAK?

  1. DevOps-инженерам, отвечающим за работу Kafka
  2. Разработчикам, которым нужно оперативно создавать топики
  3. Аналитикам, следящим за нагрузкой на кластер
  4. Командам с несколькими Kafka-кластерами

Альтернативы

Хотя CMAK — не единственный инструмент для управления Kafka (есть Confluent Control Center, Kafdrop, Kowl), он остается популярным выбором благодаря:

  • Простоте развертывания
  • Широкой функциональности
  • Поддержке старых версий Kafka

CMAK — это must-have инструмент для тех, кто серьезно работает с Apache Kafka. Он экономит часы рутинной работы и дает четкую картину состояния кластера. Если вы еще не пробовали — самое время установить и оценить удобство визуального управления Kafka.

Проект активно развивается, и хотя он поменял название с Kafka Manager на CMAK, суть осталась прежней — сделать администрирование Kafka простым и наглядным.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.