Для практики нужен clickhouse-server, который хранит таблицы, и clickhouse-client, который отправляет ему SQL. Выберите один способ запуска: нативный сервер на Linux/macOS либо Linux-контейнер Docker. На Windows используйте Docker или Linux-дистрибутив внутри WSL 2; нативный Windows-сервер в этом уроке не предполагается.
Linux
Для локального знакомства подходит официальная быстрая установка ClickHouse. Скрипт выбирает бинарный файл под систему. Откройте терминал и выполните:
mkdir -p ~/clickhouse-training
cd ~/clickhouse-training
curl -fsSL https://clickhouse.com/ | CLICKHOUSE_ONLY=1 sh
./clickhouse serverПеременная CLICKHOUSE_ONLY ограничивает установку одним бинарным файлом. Последняя команда запускает сервер в текущем терминале. Оставьте его открытым.
В другом терминале подключитесь из той же папки:
cd ~/clickhouse-training
./clickhouse clientКлиент подключается к localhost по native-порту 9000. В его SQL-приглашении выполните:
SELECT version();Скачанная версия может отличаться от учебной Docker-версии 25.8. Для установки системной службы и пакетного обновления есть отдельные инструкции Debian/Ubuntu и Red Hat/RPM. Для контейнерного варианта установите Docker Engine для своего дистрибутива, включая Compose plugin, и переходите к общему разделу Docker ниже.
macOS
Быстрая установка ClickHouse поддерживает и macOS. В Terminal используйте те же команды mkdir, cd, curl и ./clickhouse server из раздела Linux. Второе окно Terminal с ./clickhouse client открывает подключение к серверу. Проверьте SELECT version().
Если macOS блокирует запуск скачанного бинарного файла, используйте официальную инструкцию ClickHouse для проверки разработчика.
Другой вариант — Docker Desktop для Mac. На странице есть отдельные загрузки для Apple Silicon и Intel. Установите подходящий вариант, запустите Docker Desktop и используйте общий контейнерный сценарий.
Windows
Установите Docker Desktop для Windows по официальной инструкции. Для этого урока нужны Linux containers; обычный путь использует WSL 2 backend. Проверьте требования к версии Windows и виртуализации на странице установки.
В PowerShell проверьте WSL:
wsl --versionЕсли WSL отсутствует, официальный сценарий Docker предусматривает wsl --install в терминале с правами администратора; после установки может понадобиться перезагрузка. Настройка backend описана на странице Docker и WSL. Для команд Docker из PowerShell отдельная Ubuntu внутри WSL не обязательна.
Запустите Docker Desktop и убедитесь, что выбран режим Linux containers. Затем откройте обычный PowerShell и выполните сценарий Docker ниже.
Можно обойтись и без Docker: установить Linux-дистрибутив в WSL 2 и выполнять Linux-инструкцию внутри его терминала. Команда wsl -l -v показывает дистрибутивы и их версию WSL. В этом варианте бинарный файл и сервер работают в Linux, команды ./clickhouse не выполняются в PowerShell.
Общий запуск в Docker
Для проверки установки Docker в терминале выполните:
docker version
docker compose versionВ docker version должны быть сведения и о Client, и о Server. Если соединения с Server нет, сначала запустите Docker Engine или Docker Desktop.
Сохраните compose.yaml в отдельную папку clickhouse-training и откройте терминал в ней. Файл использует официальный образ ClickHouse с точным тегом 25.8.33.6. Данные находятся в именованном volume ch-data, HTTP-порт 18123 доступен только на 127.0.0.1. Native-порт контейнера наружу не опубликован.
Команды одинаковы для PowerShell, Bash и Terminal macOS:
docker compose up -d
docker compose exec ch clickhouse-client --user learner --password local-learning-onlylearner и local-learning-only — открытые учебные значения из Compose. Клиент запускается внутри контейнера и соединяется с его native-портом. В SQL-приглашении выполните:
SELECT version();Ожидается 25.8.33.6. Если контейнер ещё запускается, проверьте docker compose ps и docker compose logs ch, затем повторите подключение. HTTP на localhost:18123 и native client — разные способы доступа к одному серверу.
Завершение и сохранение данных
В клиенте выполните exit. Для нативного запуска остановите сервер через Ctrl+C в его терминале и дождитесь завершения. Данные быстрой установки хранятся в текущей папке; следующий запуск ./clickhouse server из той же папки вернёт таблицы. Запуск ./clickhouse без server открывает clickhouse-local с другим жизненным циклом данных и не заменяет этот сценарий.
Для Docker выполните в папке стенда:
docker compose downКоманда останавливает и удаляет контейнер стенда, но сохраняет именованный volume. Следующий docker compose up -d с тем же Compose project name снова использует эти данные. Не добавляйте -v, если хотите сохранить упражнение.
Теперь можно пройти первую таблицу и агрегацию.