Полная инфраструктура для развертывания StarRocks в Docker с готовыми проектами для разработки и продакшена.
- 🚀 Быстрый старт
- 📁 Структура проектов
- 📊 Сравнение конфигураций
- 🔧 Требования
- 🛠️ Управление
- 🔍 Мониторинг
- 📖 Документация
- 🐛 Troubleshooting
- 🔒 Безопасность
- 📈 Производительность
- 📚 Полезные ссылки
Для разработки и тестирования:
cd starrocks-single-node
.\manage.ps1 start
Для продакшена:
cd starrocks-cluster
.\manage.ps1 start
# Проверка контейнеров
.\manage.ps1 status
# Просмотр логов
.\manage.ps1 logs
# Подключение через PowerShell скрипт
.\connect.ps1
# Или напрямую через MySQL
mysql -h localhost -P 9030 -u root
-- Для Single Node
SOURCE init.sql;
-- Для Cluster
SOURCE init-cluster.sql;
-- Проверка статуса
SHOW PROC '/frontends'\G
SHOW PROC '/backends'\G
-- Тестовый запрос
SELECT * FROM test_db.users LIMIT 5;
StarRocks/
├── README.md # Основная документация
├── CHANGELOG.md # История изменений
├── LICENSE # MIT лицензия
├── .gitignore # Git ignore файл
├── monitoring-examples.md # Примеры мониторинга
├── starrocks-single-node/ # Однодоступная конфигурация
│ ├── docker-compose.yml # Docker Compose
│ ├── README.md # Документация
│ ├── manage.ps1 # PowerShell скрипт управления
│ ├── connect.ps1 # Скрипт подключения
│ ├── examples.sql # Примеры SQL запросов
│ ├── init.sql # SQL инициализация
└── starrocks-cluster/ # Кластерная конфигурация
├── docker-compose.yml # Docker Compose кластера
├── README.md # Документация кластера
├── manage.ps1 # PowerShell скрипт управления
├── connect.ps1 # Скрипт подключения
├── examples.sql # Примеры SQL запросов
├── init-cluster.sql # SQL инициализация кластера
Характеристика | Single Node | Cluster |
---|---|---|
Сложность развертывания | Низкая | Средняя |
Ресурсы | 4GB RAM, 10GB диска | 8GB RAM, 20GB диска |
Отказоустойчивость | Нет | Высокая |
Масштабируемость | Ограниченная | Высокая |
Производительность | Средняя | Высокая |
Подходит для | Dev/Test | Production |
- Docker 20.10+
- Docker Compose 2.0+
- 4GB RAM (Single Node) / 8GB RAM (Cluster)
- 10GB диска (Single Node) / 20GB диска (Cluster)
- Docker 24.0+
- Docker Compose 2.20+
- 8GB RAM (Single Node) / 16GB RAM (Cluster)
- SSD диски
- Минимум 4 CPU ядра
# Запуск
.\manage.ps1 start
# Остановка
.\manage.ps1 stop
# Перезапуск
.\manage.ps1 restart
# Статус
.\manage.ps1 status
# Логи
.\manage.ps1 logs
# Подключение
.\manage.ps1 connect
# Очистка данных
.\manage.ps1 clean
# Справка
.\manage.ps1 help
# Запуск
docker-compose up -d
# Остановка
docker-compose down
# Просмотр логов
docker-compose logs -f
# Перезапуск
docker-compose restart
# Очистка данных
docker-compose down -v
# Single Node
.\connect.ps1
# Cluster (выбор узла)
.\connect.ps1
-- Проверка FE узлов
SHOW PROC '/frontends'\G
-- Проверка BE узлов
SHOW PROC '/backends'\G
-- Проверка репликации (только для кластера)
SHOW PROC '/tablets'\G
# Остановка
.\manage.ps1 stop
# Перезапуск
.\manage.ps1 restart
# Очистка данных
.\manage.ps1 clean
# Справка
.\manage.ps1 help
- HTTP интерфейс: http://localhost:9030
- Логи:
.\manage.ps1 logs
- Метрики: http://localhost:9060/metrics (BE)
.\manage.ps1 logs
docker system prune -f
# Проверьте порты
netstat -an | findstr 9030
# Проверьте логи
.\manage.ps1 logs
# Проверьте использование ресурсов
docker stats
# Увеличьте лимиты в docker-compose.yml
-
Контейнеры не запускаются
docker-compose logs docker system prune -f
-
BE узлы не подключаются к FE
docker-compose logs starrocks-fe-1 docker-compose logs starrocks-be-1
-
Проблемы с памятью
docker stats # Увеличьте лимиты памяти в docker-compose.yml
# Проверка ресурсов
docker stats
# Проверка сетевых соединений
docker network ls
docker network inspect starrocks-network
# Проверка логов
docker-compose logs -f [service-name]
- Изменение паролей по умолчанию
- Настройка SSL/TLS
- Ограничение доступа к портам
- Регулярное резервное копирование
- Мониторинг и алерты
-- Создание пользователя с паролем
CREATE USER 'admin'@'%' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';
FLUSH PRIVILEGES;
-- Настройка количества потоков
SET GLOBAL parallel_fragment_exec_instance_num = 4;
-- Настройка размера буфера
SET GLOBAL query_mem_limit = '2G';
-- Настройка репликации
ALTER TABLE my_table SET ('replication_num' = '3');
-- Настройка распределения
ALTER TABLE my_table SET ('bucket_num' = '6');
- Fork репозитория
- Создайте feature branch
- Внесите изменения
- Создайте Pull Request
Этот проект распространяется под лицензией MIT. См. файл LICENSE для подробностей.
-
starrocks-single-node/
- Полностью настроенный Docker Compose для однодоступной конфигурации
- 1 FE + 1 BE узел
- PowerShell скрипты управления и подключения
- Готовые примеры SQL запросов
- Подробная документация
-
starrocks-cluster/
- Полностью настроенный Docker Compose для кластерной конфигурации
- 3 FE + 3 BE узла с репликацией
- PowerShell скрипты управления и подключения
- Высокая доступность и отказоустойчивость
- Примеры аналитических запросов
- monitoring-examples.md
- Примеры настройки Prometheus + Grafana
- Конфигурации алертов
- Скрипты мониторинга здоровья
- Интеграция с Slack/Email
- ELK Stack для логов
-
examples.sql (Single Node)
- Создание тестовых таблиц (users, orders, products)
- Вставка тестовых данных
- Примеры аналитических запросов
- Представления для аналитики
-
examples.sql (Cluster)
- Расширенные таблицы с репликацией
- Больше тестовых данных
- Сложные аналитические запросы
- Мониторинг кластера
Все проекты полностью готовы к развертыванию:
# Для разработки
cd starrocks-single-node && .\manage.ps1 start
# Для продакшена
cd starrocks-cluster && .\manage.ps1 start
- Single Node: Идеально для разработки, тестирования и небольших проектов
- Cluster: Готов для продакшена с высокой доступностью
- PowerShell скрипты: Удобное управление через PowerShell
- Мониторинг: Полная экосистема для наблюдения за кластером
- Безопасность: Рекомендации и примеры настройки
- Производительность: Оптимизация для различных сценариев