Перейти к основному содержимому
Перейти к основному содержимому

Установка 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:

  1. Если вы только начинаете и хотите увидеть, что может сделать ClickHouse, проще всего загрузить ClickHouse локально, выполнив следующую команду. Она загрузит единый бинарный файл для вашей операционной системы, который можно использовать для запуска сервера ClickHouse, clickhouse-client, clickhouse-local, ClickHouse Keeper и других инструментов:

    примечание

    Для пользователей Mac: Если вы получаете ошибки о том, что разработчик бинарного файла не может быть проверен, пожалуйста, смотрите здесь.

  2. Выполните следующую команду для запуска 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 Гбит.

Пропускная способность сети критически важна для обработки распределенных запросов с большим количеством промежуточных данных. Кроме того, скорость сети влияет на процессы репликации.