Гид по технологиям

Установка ClickHouse на Debian 10 — пошаговое руководство

5 min read Databases Обновлено 24 Nov 2025
Установка ClickHouse на Debian 10 — шаг за шагом
Установка ClickHouse на Debian 10 — шаг за шагом

Введение

ClickHouse — это высокопроизводительная колоночная СУБД с открытым исходным кодом, разработанная для аналитики больших объёмов данных. В этой инструкции показаны шаги установки на сервер с Debian 10, создание базы данных и таблицы, а также включение удалённого доступа.

Краткое определение: MergeTree — движок хранения ClickHouse, оптимизированный для больших объёмов и быстрого чтения по датам.

Требования

  • Сервер с Debian 10.
  • Доступ root или права sudo.
  • Установлён пароль root (или используйте sudo).

Подготовка системы

Обновите пакеты и перезагрузите сервер, чтобы применить критические обновления:

apt-get update -y
apt-get upgrade -y

После завершения обновления рекомендуется перезагрузить сервер:

reboot

Важно: выполняйте обновления в заранее запланированное окно, если сервер в рабочей среде.

Установка ClickHouse

ClickHouse не входит в стандартные репозитории Debian 10, поэтому добавим репозиторий Yandex и импортируем ключ GPG.

Импорт ключа:

apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4

Ожидаемый вывод покажет импорт публичного ключа репозитория. Далее добавим репозиторий:

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 dirmngr clickhouse-server clickhouse-client -y

Во время установки вас попросят задать пароль для пользователя ClickHouse (если установщик этого требует). На этапе ввода пароля в терминале вы увидите запрос аналогичный изображённому ниже.

Запрос пароля ClickHouse в терминале

Введите пароль и нажмите Enter.

После установки запустите и включите службу ClickHouse:

systemctl start clickhouse-server
systemctl enable clickhouse-server

Проверьте статус службы:

systemctl status clickhouse-server

Устранение распространённой ошибки запуска

В некоторых окружениях служба ClickHouse может завершаться с ошибкой из-за конфликтной настройки OpenSSL. Если systemctl показывает, что служба не запускается, отредактируйте файл конфигурации OpenSSL:

nano /etc/ssl/openssl.cnf

Найдите и закомментируйте строку:

#ssl_conf = ssl_sect

Сохраните файл и повторно запустите службу:

systemctl start clickhouse-server

После успешного старта служба должна быть в состоянии active (running). Журналы запуска записываются в /var/log/clickhouse-server/.

Создание базы данных и таблицы через clickhouse-client

Подключитесь к серверу с помощью клиента, указав пароль, введённый при установке:

clickhouse-client --password admin@123

После подключения создадим базу данных clickdb и таблицу ontime с движком MergeTree:

CREATE DATABASE clickdb;
USE clickdb;
CREATE TABLE ontime (
  Year UInt16,
  Quarter UInt8,
  Month UInt8,
  DayofMonth UInt8,
  DayOfWeek UInt8,
  FlightDate Date,
  AirlineID Int32,
  FlightNum String
) ENGINE = MergeTree(FlightDate, (Year, FlightDate), 8192);

Проверим структуру таблицы:

DESCRIBE TABLE ontime;

Пример вставки строки и запроса:

INSERT INTO ontime (Year, Quarter, Month, DayofMonth, DayOfWeek, FlightDate, AirlineID, FlightNum) 
VALUES (2019, 3, 9, 6, 5, '2019-09-06', 123, 'XY456');

SELECT * FROM ontime LIMIT 10;

Вы можете также удалять объекты:

DROP TABLE ontime;
DROP DATABASE clickdb;

Разрешение удалённых подключений

Чтобы ClickHouse слушал все интерфейсы, откройте конфигурационный файл сервера:

nano /etc/clickhouse-server/config.xml

Найдите строку и замените её на указанную:


замените на

0.0.0.0

Сохраните изменения и перезапустите сервис:

systemctl restart clickhouse-server

На клиентской машине подключение выглядит так:

clickhouse-client --host your_server_ip --password admin@123

Важно: обычно ClickHouse по умолчанию использует порт 9000 (TCP) для TCP-клиента и 8123 (HTTP API) для HTTP-интерфейса. Убедитесь, что файервол на сервере и облачном провайдере пропускает нужные порты.

Настройка файервола (пример для UFW)

Разрешить TCP-порт 9000 и HTTP-порт 8123:

ufw allow 9000/tcp
ufw allow 8123/tcp
ufw reload

Если вы используете iptables или облачный фаервол — откройте соответствующие правила.

Безопасность и лучшие практики

Important: не оставляйте ClickHouse доступным из интернета без ограждения. Рекомендуется:

  • Ограничить доступ по IP-адресам в config.xml или через сетевой фаервол.
  • Использовать сильные пароли для пользователей ClickHouse.
  • Настроить TLS для HTTP-интерфейса и внешних соединений, если данные пересылаются по публичным каналам.
  • Периодически выполнять бэкапы данных и конфигураций.

Примечание: для продакшена рассмотрите развёртывание ClickHouse в кластере и использование репликации для высокого уровня доступности.

Тестирование и критерия приёмки

Критерии приёмки:

  • Служба clickhouse-server в статусе active (running).
  • Локальное подключение с clickhouse-client успешно.
  • Удалённое подключение успешно (при включённом listen_host и открытых портах).
  • Удачное создание базы данных и таблицы, вставка и чтение строк.

Пример теста (ручной):

  1. systemctl status clickhouse-server — статус active.
  2. clickhouse-client –password <пароль> — клиент подключается.
  3. CREATE DATABASE testdb; CREATE TABLE testdb.t (d Date, v UInt8) ENGINE = MergeTree(d, (d), 8192);
  4. INSERT …; SELECT COUNT() FROM testdb.t; — счётчик возвращает ожидаемое число строк.

Роли и контрольные списки

Администратор:

  • Обновить систему и установить ClickHouse.
  • Настроить автозапуск и мониторинг службы.
  • Ограничить доступ по сети.

Разработчик/аналитик:

  • Создать тестовую базу и таблицы.
  • Проверить соответствие схемы аналитическим требованиям.
  • Написать тестовые запросы производительности.

DevOps/инженер CI/CD:

  • Настроить бэкапы и восстановление конфигураций.
  • Настроить мониторинг (логи, метрики) и оповещения.

Отладка и распространённые ошибки

  • Служба не стартует: проверьте журналы в /var/log/clickhouse-server/.err.log и .log.
  • Проблемы с SSL/OpenSSL: проверьте /etc/ssl/openssl.cnf и закомментируйте конфликтные строки, как описано выше.
  • Ошибка подключения по сети: проверьте listen_host, файервол и открытые порты.
  • Неправильные права на каталоги хранения данных: убедитесь, что clickhouse имеет права на /var/lib/clickhouse (или указанный datadir).

Мини-методология развёртывания (рекомендации)

  1. Установите ClickHouse на тестовую машину и выполните базовую настройку.
  2. Протестируйте типовые запросы и нагрузку.
  3. Настройте мониторинг и резервирование.
  4. Перенесите конфигурации на продакшен и поэтапно увеличивайте нагрузку.

Краткий глоссарий (1‑строчно)

  • ClickHouse — колоночная СУБД для аналитики больших данных.
  • MergeTree — базовый движок хранения ClickHouse для временных/дискретных данных.
  • clickhouse-client — CLI-клиент для взаимодействия с сервером ClickHouse.

Заключение

Вы успешно установили ClickHouse на Debian 10, создали базу данных и таблицу, настроили удалённый доступ и получили базовые рекомендации по безопасности. Для дальнейшего изучения перейдите в официальную документацию ClickHouse и подумайте о настройке репликации и кластера для повышения отказоустойчивости.

Если у вас есть конкретные требования (кластер, репликация, нагрузочное тестирование), опишите их — я помогу с более точной инструкцией.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Баланс в фотографии: виды и приёмы
Фотография

Баланс в фотографии: виды и приёмы

Как сохранить и выйти из Vi
Linux

Как сохранить и выйти из Vi

Как почистить контроллер PS4 — полный гайд
Геймерская периферия

Как почистить контроллер PS4 — полный гайд

Как печатать в Word: советы и макросы
Офис

Как печатать в Word: советы и макросы

Как продавать на Amazon — руководство для частных
Электронная коммерция

Как продавать на Amazon — руководство для частных

Очистка очереди печати в Windows 11
Windows

Очистка очереди печати в Windows 11