Follow this link to view the description in English - README_EN.md
Стэк из сервисов для практики в области Data Engineering / DevOps / DBA.
Проект настроен на комфортный и быстрый запуск всех сервисов одной командой.
В docker-compose.yaml собраны следующие образы:
Номер | Docker image | TAG | Описание |
---|---|---|---|
1 | PostgreSQL | postgres:13.3 | OLTP СУБД |
2 | ClickHouse | clickhouse/clickhouse-server:latest | OLAP СУБД |
3 | Apache Airflow | apache/airflow:2.10.4 | ETL |
4 | Apache Kafka | confluentinc/cp-kafka:latest | Брокер сообщений |
5 | Apache Zookeeper | zookeeper:3.7 | Координация/Управление |
6 | Apache Nifi | apache/nifi:1.28.1 | ETL |
7 | Minio | minio/minio:latest | Object Storage |
8 | Grafana Enterprise | grafana/grafana-enterprise:latest | BI-инструмент |
Основные параметры для подключения и настраиваемые конфигурации прописаны в .env файле
Linux:
Для поднятия контейнеров на Linux должны быть установлены Docker compose и все необходимые зависимости. Полная документация по установке указана в официальной документации. Также можно установить Desktop версию для Linux.
Windows: Для установки Docker compose необходимо установить Desktop версию для Windows и иметь установленную WSL 2.0.
Ознакомиться с гайдом по установке и настройке WSL можно на официальном сайте Microsoft.
- Клонирование репозитория
git clone [email protected]:Kaboupi/d-compose.git
- Переход в директорию D-compose
cd d-compose
- Поднятие Docker контейнеров
docker compose up -d
- Провести проверку работоспособности основных сервисов
docker ps --format '{{.Status}}\t{{.Names}}'
У всех контейнеров должен быть статус Up ... (healthy)
Ниже представлен список веб-интерфейсов, доступных по дефолту:
- Clickhouse: http://localhost:8123/
- Apache Airflow: http://localhost:8080/
- Apache NiFi: http://localhost:8090/nifi
- Minio: http://localhost:9001/
- Grafana: http://localhost:3000/
-
- В Data Sources должны присутствовать подключения к СУБД Postgres и СУБД ClickHouse. Конфигурации хранятся в
grafana-provisioning/datasources/datasources.yaml
- В Data Sources должны присутствовать подключения к СУБД Postgres и СУБД ClickHouse. Конфигурации хранятся в
По дефолту PV прописаны только для сохранения подключений к Grafana и метаданных Postgres для Airflow.
❗Если хотите добавить PV, то нужно прописать их напрямую в
volumes:
, например:services: clickhouse: image: clickhouse/clickhouse-server:latest ... volumes: - ./my_custom_dir:/var/lib/clickhouse # эта строчка добавит в вашу локальную директорию my_custom_dir все данные СУБД volumes: my_custom_dir: driver: local
Документация по сервисам находится в директории docs
Ознакомиться с её оглавлением можно по ссылке - Документация d-compose
Если у вас возникли сложности или вопросы по использованию пакета, создайте обсуждение в данном репозитории.
Linux:
- Docker compose release ~>2.28.0 or latest Windows:
- Windows 10 ~>22H2
- WSL (желательно 2.0)
- Docker Desktop ~>4.20 or latest