Утилита управления кластером StarRocks и компонентами платформы (sr-manager)
Утилита управления кластером StarRocks / sr-manager — это комплексный инструмент для автоматизированного развертывания, настройки и мониторинга кластеров StarRocks и связанных компонентов платформы. Разработанная для администраторов и DevOps-инженеров, утилита упрощает сложные задачи администрирования, обеспечивает централизованное управление конфигурациями и поддерживает полный жизненный цикл кластера.
Утилита построена по модульной архитектуре, состоящей из трех основных компонентов:
1. Shell-оснастка (srcli_interact.sh)Bash-скрипт, обеспечивающий интерактивный интерфейс для пользователей:
- Автоматическая подготовка окружения
- Определение режима кластера
- Интерактивное меню управления
2. CLI API (srcli.py)Python-скрипт для программируемого управления:
- Обработка аргументов командной строки
- Генерация конфигураций
- Запуск Ansible плейбуков
3. Библиотека логики (srlib.py)Ядро системы, реализующее бизнес-логику:
- Управление инвентарем кластера
- Интеграция с Ansible
- Поддержка обоих режимов кластера
Утилита также предоставляет веб-интерфейс для удобного управления кластером через браузер.
• Автономное развертывание: Полная поддержка офлайн-установки без доступа к Интернету
• Два режима кластера: Поддержка традиционного (shared_nothing) и облачного (shared_data) режимов
• Автоматическая настройка: Интеллектуальное определение параметров и конфигурации
• Локальный репозиторий: Встроенный HTTP-сервер для распределения пакетов и артефактов
• Комплексное управление: Единый интерфейс для StarRocks, мониторинга, ProxySQL, HAProxy, Apache Superset и MCP инфраструктуры
Веб-интерфейс предоставляет:
• Обзор кластера: Визуализация топологии и состояния узлов
• Мониторинг в реальном времени: Графики нагрузки, использования ресурсов, запросов
• Управление узлами: Добавление/удаление узлов через интуитивный интерфейс
• Настройка компонентов: Конфигурация мониторинга, балансировщиков нагрузки, BI-инструментов
Панель мониторинга кластера
Через веб-интерфейс можно:
- Запускать развертывание новых кластеров
- Добавлять и удалять узлы
- Настраивать компоненты мониторинга (Prometheus + Grafana)
- Устанавливать Apache Superset для визуализации данных
- Развертывать ProxySQL и HAProxy для балансировки нагрузки
Управление развертыванием
Интеграция с Grafana обеспечивает:
- Готовые дашборды для мониторинга StarRocks
- Метрики производительности в реальном времени
- Анализ запросов и нагрузок
- Оповещения о критических состояниях
Утилита автоматически:
- Распаковывает архив с пакетами (876 RPM для RedOS 8)
- Запускает HTTP-сервер на порту 8088
- Определяет IP хоста управления
- Настраивает репозитории на всех узлах кластера
- Устанавливает все необходимые компоненты без доступа к Интернету
Автоматическое офлайн-развертывание
Режим shared_nothing (традиционный)
• Узлы: Frontend (FE) + Backend (BE)
• Хранение: Локальное на BE узлах
• Использование: On-premises развертывания
Режим shared_data (облачный)
• Узлы: Frontend (FE) + Compute Node (CN)
• Хранение: Внешнее объектное (S3, Azure Blob, HDFS)
• Использование: Облачные развертывания
Поддержка двух режимов кластера
Через веб-интерфейс можно:
- Добавлять BE/CN узлы одним кликом
- Удалять узлы с автоматической перебалансировкой данных
- Мониторить процесс масштабирования в реальном времени
Apache Superset
Интеграция Apache Superset для аналитики и визуализации данных
ProxySQL и HAProxy
Настройка ProxySQL и HAProxy для балансировки SQL-запросов
MCP инфраструктура
Управление Model Context Protocol инфраструктурой
иные компоненты добавляемые по требованию заказчика
Управление компонентами платформы
Преимущества использования утилиты
• Сокращение времени развертывания с нескольких дней до часов
• Единый интерфейс для управления всеми компонентами
• Автоматизация рутинных задач обслуживания
• годовая - является составной частью стандартной лицензии
• Идемпотентность операций
• Инфраструктура как код через Ansible плейбуки
• Интеграция с CI/CD pipelines
• Снижение операционных затрат
• Повышение отказоустойчивости кластера
• Упрощение масштабирования под растущие нагрузки