Установка ClickHouse на Debian 11 — подробный гид

Что такое ClickHouse
ClickHouse — это свободная open-source колоночная СУБД для аналитики в реальном времени. Коротко: хранит данные по колонкам, что ускоряет чтение и агрегации для OLAP-нагрузок. Термин: OLAP — аналитическая обработка данных для отчётов и запросов над большими объёмами.
Требования
- Сервер с Debian 11.
- Настроен root-доступ или пользователь с sudo.
- Доступ в интернет для скачивания пакетов.
Подготовка системы
Обновите списки пакетов и установите утилиты, которые понадобятся:
apt-get update -y
apt-get install curl gnupg2 wget git apt-transport-https ca-certificates -yПримечание: в новых версиях Debian использование apt-key считается устаревшим; ниже приведён тот же метод, что используют многие руководства, и альтернативы описаны в разделе безопасности.
Установка ClickHouse на Debian 11
- Добавьте GPG-ключ репозитория ClickHouse:
apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4Ожидаемый вывод подтвердит импорт ключа.
- Добавьте репозиторий в APT:
echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | tee /etc/apt/sources.list.d/clickhouse.list- Обновите индексы и установите сервер и клиент:
apt-get update -y
apt-get install clickhouse-server clickhouse-client -yВо время установки вас попросят ввести пароль для пользователя default. После установки в выводе будут инструкции по запуску.
Important: хранение пароля в файле /etc/clickhouse-server/users.d/default-password.xml — удобно для автоматизированных развёртываний, но менее безопасно для production. Смотрите раздел по безопасности.
Управление сервисом ClickHouse
Запустите сервис и включите автозапуск:
systemctl start clickhouse-server
systemctl enable clickhouse-serverПроверка статуса:
systemctl status clickhouse-serverВы увидите активный сервис и логи инициализации. Если service не стартует, см. раздел «Отладка».
Базовое использование ClickHouse
Подключение к клиенту:
clickhouse-client --passwordВведите пароль, заданный при установке. Пример сессии:
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 21.12.3 revision 54452.
debian11 :)Создадим базу и таблицу, вставим данные и выполним простой запрос.
Создать базу:
CREATE DATABASE testdb;Переключиться на базу:
USE testdb;Создать таблицу (пример корректной команды):
CREATE TABLE table1 (
id UInt64,
name String,
url String,
created DateTime
) ENGINE = MergeTree()
PRIMARY KEY id
ORDER BY id;Вставить строку:
INSERT INTO table1 VALUES (1, 'jay', 'https://www.howtoforge.com', '2021-12-31 00:01:01');Добавить колонку:
ALTER TABLE table1 ADD COLUMN location String;Выбрать данные:
SELECT url, name FROM table1 WHERE url = 'https://www.howtoforge.com' LIMIT 1;Удаление колонок/таблиц/баз:
ALTER TABLE table1 DROP COLUMN location;
DROP TABLE table1;
DROP DATABASE testdb;
exit;Замечание: в ClickHouse операции DDL выполняются быстро, но некоторые изменения схемы (например, DROP COLUMN) могут быть затратными для больших таблиц.
Включение веб-интерфейса
Веб-интерфейс ClickHouse (Tabix/UI) выключен по умолчанию. Откройте конфигурационный файл:
nano /etc/clickhouse-server/config.xmlНайдите и отредактируйте следующие строки, чтобы включить прослушивание по всем интерфейсам и дефолтную HTTP-страницу:
0.0.0.0