Установка ClickHouse
У вас есть четыре варианта, чтобы начать работу с ClickHouse:
- ClickHouse Cloud: Официальный ClickHouse как услуга, разработанный, поддерживаемый и обслуживаемый создателями ClickHouse
- Быстрая установка: легкий для загрузки бинарный файл для тестирования и разработки с ClickHouse
- Производственные развертывания: ClickHouse может работать на любом Linux, FreeBSD или macOS с архитектурой процессора x86-64, современным ARM (ARMv8.2-A и выше) или PowerPC64LE
- Docker Image: используйте официальный Docker образ на Docker Hub
ClickHouse Cloud
Самый быстрый и простой способ начать работу с ClickHouse - создать новую службу в ClickHouse Cloud.
Быстрая установка
Для производственных установок конкретной версии смотрите варианты установки ниже.
На Linux, macOS и FreeBSD:
-
Если вы только начинаете и хотите увидеть, на что способен 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 Server и 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, вам нужно установить все пакеты одной версии:
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 Server и ClickHouse Keeper на одном сервере, вам не нужно устанавливать ClickHouse Keeper, так как он включен в сервер ClickHouse. Эта команда нужна только на независимых серверах ClickHouse Keeper.
Включение и запуск ClickHouse Keeper
Вы можете заменить stable
на lts
, чтобы использовать разные типы релиза в зависимости от ваших нужд.
Затем выполните следующие команды для установки пакетов:
Вы также можете вручную загрузить и установить пакеты от сюда.
Из Tgz архивов
Рекомендуется использовать официальные предварительно собранные tgz
архивы для всех дистрибутивов Linux, где невозможно установить deb
или rpm
пакеты.
Необходимую версию можно загрузить с помощью curl
или wget
из репозитория https://packages.clickhouse.com/tgz/.
После этого загруженные архивы следует распаковать и установить с помощью установочных скриптов. Пример для последней стабильной версии:
Для производственных сред рекомендуется использовать последнюю stable
версию. Вы можете найти ее номер на странице GitHub https://github.com/ClickHouse/ClickHouse/tags с постфиксом -stable
.
Из Docker Image
Для запуска ClickHouse в Docker следуйте руководству на Docker Hub. Эти образы используют официальные deb
пакеты внутри.
Непроизводственные развертывания (расширенный режим)
Компиляция из исходников
Чтобы вручную скомпилировать ClickHouse, следуйте инструкциям для Linux или macOS.
Вы можете компилировать пакеты и устанавливать их, или использовать программы без установки пакетов.
Вам необходимо будет вручную создать каталоги данных и метаданных и поменять их владельца на нужного пользователя. Их пути можно изменить в конфигурации сервера (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, смотрите формулу сообщества homebrew ClickHouse.
Для пользователей 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 может работать с гораздо меньшим объемом ОЗУ, но в этом случае запросы будут часто отменяться.
Необходимый объем оперативной памяти в целом зависит от:
- Сложности запросов.
- Объема данных, обрабатываемых в запросах.
Чтобы рассчитать необходимый объем ОЗУ, вы можете оценить размер временных данных для GROUP BY, DISTINCT, JOIN и других операций, которые вы используете.
Чтобы уменьшить потребление памяти, ClickHouse может перемещать временные данные на внешнее хранилище. Смотрите GROUP BY в внешней памяти для получения подробной информации.
Рекомендуем отключить файл подкачки операционной системы в производственных средах.
Бинарный файл ClickHouse требует как минимум 2.5 ГБ дискового пространства для установки.
Объем хранилища, необходимый для ваших данных, может быть рассчитан отдельно на основе
-
оценки объема данных.
Вы можете взять выборку данных и получить средний размер строки из нее. Затем умножьте значение на количество строк, которые вы планируете хранить.
-
коэффициента сжатия данных.
Чтобы оценить коэффициент сжатия данных, загрузите выборку ваших данных в ClickHouse и сравните реальный размер данных с размером хранимой таблицы. Например, данные потоков кликов обычно сжимаются в 6-10 раз.
Чтобы рассчитать окончательный объем данных, которые будут храниться, примените коэффициент сжатия к оцененному объему данных. Если вы планируете хранить данные в нескольких репликах, умножьте оценочный объем на количество реплик.
Для распределенных развертываний ClickHouse (кластеризация) мы рекомендуем как минимум сетевое соединение класса 10G.
Пропускная способность сети имеет критическое значение для обработки распределенных запросов с большим объемом промежуточных данных. Кроме того, скорость сети влияет на процессы репликации.