Установка ClickHouse
У вас есть четыре варианта, чтобы начать работать с ClickHouse:
- ClickHouse Cloud: Официальный ClickHouse как услуга, созданный, поддерживаемый и обслуживаемый создателями ClickHouse.
- Быстрая установка: простой в загрузке бинарный файл для тестирования и разработки с ClickHouse.
- Рабочие развертывания: ClickHouse может работать на любых системах Linux, FreeBSD или macOS с архитектурой процессора x86-64, современных ARM (ARMv8.2-A и выше) или PowerPC64LE.
- Docker-образ: используйте официальный образ Docker из Docker Hub.
ClickHouse Cloud
Самый быстрый и простой способ начать работать с ClickHouse — это создать новую службу в ClickHouse Cloud.
Быстрая установка
Для развертываний в производственной среде с конкретной версией смотрите варианты установки ниже.
На Linux, macOS и FreeBSD:
-
Если вы только начинаете и хотите увидеть, что может сделать ClickHouse, проще всего загрузить ClickHouse локально, выполнив следующую команду. Она загрузит единый бинарный файл для вашей операционной системы, который можно использовать для запуска сервера ClickHouse,
clickhouse-client
,clickhouse-local
, ClickHouse Keeper и других инструментов:примечаниеДля пользователей Mac: Если вы получаете ошибки о том, что разработчик бинарного файла не может быть проверен, пожалуйста, смотрите здесь.
-
Выполните следующую команду для запуска clickhouse-local:
clickhouse-local
позволяет обрабатывать локальные и удаленные файлы, используя мощный SQL ClickHouse и без необходимости конфигурирования. Данные таблицы хранятся во временном месте, что означает, что после перезапускаclickhouse-local
ранее созданные таблицы больше недоступны.В качестве альтернативы вы можете запустить сервер ClickHouse с помощью этой команды ...
... и открыть новый терминал для подключения к серверу с помощью
clickhouse-client
:Данные таблицы хранятся в текущем каталоге и все еще доступны после перезапуска сервера ClickHouse. При необходимости вы можете передать
-C config.xml
в качестве дополнительного аргумента командной строки для./clickhouse server
и предоставить дальнейшую конфигурацию в файле конфигурации. Все доступные настройки конфигурации документированы здесь и в шаблоне примера конфигурационного файла.Вы готовы начать отправлять SQL-команды в ClickHouse!
Быстрый старт проводит через шаги по созданию таблиц и вставке данных.
Рабочие развертывания
Для развертываний ClickHouse в производственной среде выберите один из следующих вариантов установки.
Из пакетов DEB
Рекомендуется использовать официальные предварительно скомпилированные deb
пакеты для Debian или Ubuntu. Выполните эти команды для установки пакетов:
Настройка репозитория Debian
Установка сервера и клиента ClickHouse
Запуск сервера ClickHouse
Старый метод дистрибуции для установки deb-пакетов
Вы можете заменить stable
на lts
, чтобы использовать другие типы релизов в зависимости от ваших нужд.
Вы можете также скачать и установить пакеты вручную здесь.
Установка отдельного ClickHouse Keeper
В производственной среде мы настоятельно рекомендуем запускать ClickHouse Keeper на выделенных узлах. В тестовых средах, если вы решите запустить сервер ClickHouse и ClickHouse Keeper на одном и том же сервере, вам не нужно устанавливать ClickHouse Keeper, так как он включен в сервер ClickHouse. Эта команда необходима только на отдельных серверах ClickHouse Keeper.
Включение и запуск ClickHouse Keeper
Пакеты
clickhouse-common-static
— Устанавливает скомпилированные бинарные файлы ClickHouse.clickhouse-server
— Создает символическую ссылку дляclickhouse-server
и устанавливает конфигурацию сервера по умолчанию.clickhouse-client
— Создает символическую ссылку дляclickhouse-client
и других клиентских инструментов и устанавливает конфигурационные файлы клиента.clickhouse-common-static-dbg
— Устанавливает скомпилированные бинарные файлы ClickHouse с отладочной информацией.clickhouse-keeper
- Используется для установки ClickHouse Keeper на выделенные узлы ClickHouse Keeper. Если вы запускаете ClickHouse Keeper на том же сервере, что и сервер ClickHouse, тогда вам не нужно устанавливать этот пакет. Устанавливает ClickHouse Keeper и конфигурационные файлы по умолчанию для ClickHouse Keeper.
Если вы хотите установить конкретную версию ClickHouse, вам нужно установить все пакеты с одной и той же версией:
sudo apt-get install clickhouse-server=21.8.5.7 clickhouse-client=21.8.5.7 clickhouse-common-static=21.8.5.7
Из пакетов RPM
Рекомендуется использовать официальные предварительно скомпилированные rpm
пакеты для CentOS, RedHat и всех других дистрибутивов Linux на основе RPM.
Настройка репозитория RPM
Сначала вам нужно добавить официальный репозиторий:
Для систем с менеджером пакетов zypper
(openSUSE, SLES):
Позже любую yum install
можно заменить на zypper install
. Чтобы указать конкретную версию, добавьте -$VERSION
в конец имени пакета, например clickhouse-client-22.2.2.22
.
Установка сервера и клиента ClickHouse
Запуск сервера ClickHouse
Установка отдельного ClickHouse Keeper
В производственной среде мы настоятельно рекомендуем запускать ClickHouse Keeper на выделенных узлах. В тестовых средах, если вы решите запустить сервер ClickHouse и ClickHouse Keeper на одном и том же сервере, вам не нужно устанавливать ClickHouse Keeper, так как он включен в сервер ClickHouse. Эта команда необходима только на отдельных серверах ClickHouse Keeper.
Включение и запуск ClickHouse Keeper
Вы можете заменить stable
на lts
, чтобы использовать разные типы релизов в зависимости от ваших нужд.
Затем выполните эти команды для установки пакетов:
Вы также можете скачать и установить пакеты вручную здесь.
Из архивов Tgz
Рекомендуется использовать официальные предварительно скомпилированные tgz
архивы для всех дистрибутивов Linux, где установка deb
или rpm
пакетов невозможна.
Необходимую версию можно загрузить с помощью curl
или wget
из репозитория https://packages.clickhouse.com/tgz/.
После этого загруженные архивы должны быть распакованы и установлены с помощью установочных скриптов. Пример для последней стабильной версии:
Для производственных сред рекомендуется использовать последнюю стабильную версию. Вы можете найти ее номер на странице GitHub https://github.com/ClickHouse/ClickHouse/tags с постфиксом -stable
.
Из Docker-образа
Чтобы запустить ClickHouse внутри Docker, следуйте руководству на Docker Hub. Эти образы используют официальные deb
пакеты внутри.
Непроизводственные развертывания (Расширенные)
Компиляция из исходных кодов
Чтобы вручную скомпилировать ClickHouse, следуйте инструкциям для Linux или macOS.
Вы можете скомпилировать пакеты и установить их или использовать программы без установки пакетов.
Вам нужно будет вручную создать папки для данных и метаданных и выполнить chown
для нужного пользователя. Их пути можно изменить в конфигурационном файле сервера (src/programs/server/config.xml), по умолчанию они:
На Gentoo вы можете просто использовать emerge clickhouse
, чтобы установить ClickHouse из исходных кодов.
Установка бинарного файла, сгенерированного CI
Инфраструктура непрерывной интеграции (CI) ClickHouse производит специализированные сборки для каждой коммита в репозитории ClickHouse, например, санитайзированные сборки, не оптимизированные (Debug) сборки, кросс-компилированные сборки и др. Хотя такие сборки обычно полезны только в процессе разработки, в некоторых случаях они могут быть интересны и для пользователей.
Поскольку CI ClickHouse со временем развивается, точные шаги для загрузки сборок, сгенерированных CI, могут варьироваться. Также CI может удалять слишком старые артефакты сборок, делая их недоступными для загрузки.
Например, чтобы загрузить aarch64 бинарный файл для ClickHouse v23.4, следуйте этим шагам:
- Найдите запрос на слияние GitHub для релиза v23.4: Запрос на слияние релиза для ветки 23.4
- Нажмите "Commits", затем нажмите на коммит, похожий на "Обновить автоматически сгенерированную версию до 23.4.2.1 и участников", для конкретной версии, которую вы хотите установить.
- Нажмите на зеленую галочку / желтую точку / красный крестик, чтобы открыть список проверок CI.
- Нажмите "Подробности" рядом с "Сборками" в списке, это откроет страницу, аналогичную этой странице
- Найдите строки с компилятором = "clang-*-aarch64" - их несколько.
- Загрузите артефакты для этих сборок.
Только для macOS: Установка с Homebrew
Чтобы установить ClickHouse на macOS с использованием homebrew, смотрите формулу сообщества ClickHouse на homebrew.
Для пользователей Mac: Если вы получаете ошибки о том, что разработчик бинарного файла не может быть проверен, пожалуйста, смотрите здесь.
Запуск
Чтобы запустить сервер как демона, выполните:
Существуют и другие способы запустить ClickHouse:
Если у вас нет команды service
, запустите как
Если у вас есть команда systemctl
, запустите как
Смотрите логи в директории /var/log/clickhouse-server/
.
Если сервер не запускается, проверьте конфигурации в файле /etc/clickhouse-server/config.xml
.
Вы также можете вручную запустить сервер из консоли:
В этом случае лог будет напечатан в консоли, что удобно в процессе разработки.
Если конфигурационный файл находится в текущем каталоге, вам не нужно указывать параметр --config-file
. По умолчанию используется ./config.xml
.
ClickHouse поддерживает настройки ограничения доступа. Они находятся в файле users.xml
(рядом с config.xml
).
По умолчанию доступ разрешен отовсюду для пользователя default
без пароля. Смотрите user/default/networks
.
Для получения дополнительной информации смотрите раздел "Файлы конфигурации".
После запуска сервера вы можете использовать клиент командной строки для подключения к нему:
По умолчанию он подключается к localhost:9000
от имени пользователя default
без пароля. Также может быть использован для подключения к удаленному серверу с использованием аргумента --host
.
Терминал должен использовать кодировку UTF-8. Для дополнительной информации смотрите раздел "Клиент командной строки".
Пример:
Поздравляю, система работает!
Чтобы продолжить экспериментировать, вы можете скачать один из тестовых наборов данных или пройти через учебник.
Рекомендации для самоуправляемого ClickHouse
ClickHouse может работать на любых системах Linux, FreeBSD или macOS с архитектурой процессора x86-64, ARM или PowerPC64LE.
ClickHouse использует все аппаратные ресурсы для обработки данных.
ClickHouse, как правило, работает более эффективно с большим количеством ядер на более низкой тактовой частоте, чем с меньшим количеством ядер на более высокой тактовой частоте.
Рекомендуем использовать минимум 4 ГБ оперативной памяти для выполнения нетривиальных запросов. Сервер ClickHouse может работать с гораздо меньшим объемом оперативной памяти, но запросы тогда будут часто прерываться.
Необходимый объем RAM в общем зависит от:
- Сложности запросов.
- Объема данных, которые обрабатываются в запросах.
Чтобы рассчитать необходимый объем RAM, вы можете оценить размер временных данных для GROUP BY, DISTINCT, JOIN и других операций, которые вы используете.
Чтобы снизить потребление памяти, ClickHouse может обменивать временные данные на внешнее хранилище. Смотрите GROUP BY в внешней памяти для подробностей.
Рекомендуем отключить файл подкачки операционной системы в производственных средах.
Бинарный файл ClickHouse требует как минимум 2.5 ГБ дискового пространства для установки.
Объем хранилища, необходимый для ваших данных, может быть рассчитан отдельно на основе
-
оценки объема данных.
Вы можете выполнить выборку данных и получить средний размер строки из нее. Затем умножьте значение на количество строк, которые вы планируете хранить.
-
Коэффициента сжатия данных.
Чтобы оценить коэффициент сжатия данных, загрузите выборку ваших данных в ClickHouse и сравните фактический размер данных с размером хранимой таблицы. Например, данные о потоках кликов обычно сжимаются в 6-10 раз.
Чтобы рассчитать конечный объем данных для хранения, примените коэффициент сжатия к оцененному объему данных. Если вы планируете хранить данные в нескольких репликах, то умножьте оцененный объем на количество реплик.
Для распределенных развертываний ClickHouse (кластеризация) мы рекомендуем подключение сети класса не менее 10 Гбит.
Пропускная способность сети критически важна для обработки распределенных запросов с большим количеством промежуточных данных. Кроме того, скорость сети влияет на процессы репликации.