Развертывание ClickHouse в docker-compose
Развернуть ClickHouse с использованием Docker Compose можно достаточно просто. Вот пошаговая инструкция:
Шаг 1: Подготовьте docker-compose.yml
Создайте файл docker-compose.yml
и добавьте следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
version: '3.8' services: clickhouse: image: clickhouse/clickhouse-server:24.11 container_name: clickhouse-server ports: - "8123:8123" # HTTP интерфейс ClickHouse - "9001:9001" # TCP интерфейс ClickHouse volumes: - clickhouse_data:/var/lib/clickhouse # Данные ClickHouse - clickhouse_config:/etc/clickhouse-server # Конфигурация ClickHouse restart: always volumes: clickhouse_data: clickhouse_config: |
Шаг 2: Запустите Docker Compose
В директории с файлом docker-compose.yml
выполните команду:
1 2 |
docker-compose up -d |
Шаг 3: Проверьте, что контейнер работает
Проверьте состояние контейнера:
1 2 |
docker ps |
Вы должны увидеть, что контейнер clickhouse-server
запущен.
Шаг 4: Подключитесь к ClickHouse
- Через HTTP интерфейс: Откройте браузер и перейдите по адресу:
http://localhost:8123
По умолчанию ClickHouse доступен без пароля. - Через ClickHouse Client (внутри контейнера): Выполните команду для подключения к клиенту ClickHouse:
12docker exec -it clickhouse-server clickhouse-client - Через клиентские библиотеки (например, Python, PHP и т.д.): Используйте URL подключения:
12http://localhost:8123
Шаг 5: Кастомизация (необязательно)
Если требуется изменить конфигурацию ClickHouse, сделайте следующее:
- Создайте локальную директорию для конфигурации:
12mkdir -p ./clickhouse/config - Скопируйте стандартные файлы конфигурации ClickHouse:
12docker cp clickhouse-server:/etc/clickhouse-server ./clickhouse/config - Обновите файл
docker-compose.yml
, чтобы использовать эти файлы:
1234volumes:- ./clickhouse/config:/etc/clickhouse-server- clickhouse_data:/var/lib/clickhouse - Перезапустите контейнер:
12docker-compose down && docker-compose up -d
Расширение: Добавление ClickHouse Client
Если хотите подключить отдельный ClickHouse Client, добавьте в docker-compose.yml
:
1 2 3 4 5 6 7 |
clickhouse-client: image: yandex/clickhouse-client:22.11 container_name: clickhouse-client depends_on: - clickhouse entrypoint: ["sleep", "infinity"] |
И подключитесь клиентом к серверу, используя:
1 2 |
docker exec -it clickhouse-client clickhouse-client --host clickhouse |
Теперь ClickHouse полностью развернут и готов к использованию в вашем проекте.
Recommended Posts
Clickhouse-go: буферизация и пакетная запись
09.03.2024
Golang пакет для работы с ClickHouse
08.03.2024
Какова роль Zookeeper в Clickhouse кластере?
09.02.2024