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

Установка ClickHouse

У вас есть четыре варианта, чтобы начать работать с ClickHouse:

  • ClickHouse Cloud: Официальный ClickHouse как услуга, разработанный, поддерживаемый и поддерживающийся создателями ClickHouse
  • Быстрая установка: легковесный бинарный файл для тестирования и разработки с ClickHouse
  • Промышленные развертывания: ClickHouse может работать на любом Linux, FreeBSD или macOS с архитектурой CPU 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/. После этого загруженные архивы должны быть распакованы и установлены с помощью установочных скриптов. Пример для последней стабильной версии:

Для производственных сред рекомендуется использовать последнюю версию stable. Вы можете найти её номер на странице 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, выполните следующие шаги:

  • Найдите запрос на выставление релиза для v23.4: Запрос на выставление релиза для ветки 23.4
  • Нажмите "Commits", затем нажмите коммит, похожий на "Обновление сгенерированной версии на 23.4.2.1 и contributors" для версии, которую вы хотите установить.
  • Нажмите зеленую галочку / желтую точку / красный крест, чтобы открыть список проверок CI.
  • Нажмите "Details" рядом с "Builds" в списке, это откроет страницу, аналогичную этой странице
  • Найдите строки с компилятором = "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 с архитектурой CPU x86-64, ARM или PowerPC64LE.

ClickHouse использует все доступные аппаратные ресурсы для обработки данных.

ClickHouse, как правило, работает более эффективно с большим количеством ядер при более низкой частоте, чем с меньшим количеством ядер при более высокой частоте.

Рекомендуемое количество оперативной памяти составляет минимум 4 ГБ для выполнения нетривиальных запросов. Сервер ClickHouse может работать с гораздо меньшим объемом ОЗУ, но в этом случае запросы будут часто прерываться.

Необходимый объем ОЗУ в общем зависит от:

  • Сложности запросов.
  • Объема данных, обрабатываемых в запросах.

Чтобы рассчитать необходимый объем ОЗУ, вы можете оценить размер временных данных для GROUP BY, DISTINCT, JOIN и других операций, которые вы используете.

Чтобы уменьшить потребление памяти, ClickHouse может перемещать временные данные на внешнее хранилище. Смотрите GROUP BY в внешней памяти для получения деталей.

Мы рекомендуем отключить файл подкачки операционной системы в производственных средах.

Бинарный файл ClickHouse требует как минимум 2,5 ГБ дискового пространства для установки.

Объем хранилища, необходимый для ваших данных, можно рассчитать отдельно на основе

  • оценок объема данных.

    Вы можете взять образец данных и получить средний размер строки из него. Затем умножьте это значение на количество строк, которые вы планируете хранить.

  • Коэффициента сжатия данных.

    Чтобы оценить коэффициент сжатия данных, загрузите образец ваших данных в ClickHouse и сравните фактический размер данных с размером хранимой таблицы. Например, данные о кликах обычно сжимаются в 6-10 раз.

Чтобы рассчитать итоговый объем данных, которые необходимо хранить, примените коэффициент сжатия к оцененному объему данных. Если вы планируете хранить данные в нескольких репликах, умножьте оцененный объем на количество реплик.

Для распределенных развертываний ClickHouse (кластеризация) мы рекомендуем сетевую связь по классу не менее 10G.

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