Установка базы данных · 9 min read · Oct 29, 2025

Как установить OLAP базу данных ClickHouse на Ubuntu 22.04

ClickHouse — это колонно-ориентированная система управления базами данных, разработанная компанией ClickHouse, Inc. и написанная на C++. Это система управления базами данных OLAP с открытым исходным кодом, которая быстрая, устойчивая к сбоям, проста в использовании и высоконадежная.

ClickHouse — это невероятно быстрая система OLAP для онлайн-аналитической обработки. Она позволяет генерировать аналитические отчеты с помощью SQL-запросов в реальном времени.

В этом руководстве вы узнаете, как установить OLAP базу данных ClickHouse на сервере Ubuntu 22.04. Вы также узнаете, как настроить аутентификацию в ClickHouse и ознакомиться с его основным использованием и запросами.

Предварительные требования

Чтобы завершить это руководство, вам понадобятся несколько предварительных требований:

  • Сервер Ubuntu 22.04 — в этом примере используется система Ubuntu с именем хоста ‘clickhouse-server’ и IP-адресом ‘192.168.5.100’.
  • Непривилегированный пользователь с правами администратора sudo/root.

Настройка системы

Перед началом установки ClickHouse вам необходимо убедиться, что текущий процессор поддерживает набор инструкций SSE 4.2 и отключить SWAP на вашей системе.

Официальный предварительно собранный бинарный пакет для ClickHouse скомпилирован для архитектуры x86 (64-бит) и SSE 4.2. Поэтому, если у вас нет процессора, поддерживающего SSE 4.2, вам следует собрать ClickHouse вручную из исходного кода.

Кроме того, при использовании ClickHouse рекомендуется отключить SWAP, особенно в производственной среде.

Запустите следующую команду, чтобы проверить, поддерживает ли ваш процессор функцию SSE 4.2. Вы должны получить вывод ‘SSE 4.2 supported’, если ваш процессор поддерживается.

grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"

Затем выполните следующую команду, чтобы отключить SWAP через файл конфигурации ‘ /etc/fstab ‘. Эта команда добавит ‘#’ в начало конфигурации SWAP и отключит SWAP в вашей системе навсегда.

sudo sed -i '/ swap / s/^\(.*\)$/#\\1/g' /etc/fstab

Теперь выполните следующую команду, чтобы отключить SWAP в текущей сессии. Затем проверьте статус SWAP.

sudo swapoff -a  
sudo free -m

Ниже приведен вывод, который вы получите, если SWAP отключен — размер SWAP в поле ‘total’ равен 0.

check environment

С процессором, поддерживающим SSE 4.2, и отключенным SWAP вы теперь готовы установить OLAP базу данных ClickHouse.

Установка OLAP базы данных ClickHouse

OLAP база данных ClickHouse предоставляет несколько методов установки. Для дистрибутивов Linux ClickHouse предоставляет репозитории как для дистрибутивов на основе Debian, так и для RPM. Также ClickHouse доступен для установки через Docker или с использованием одного бинарного пакета.

На этом этапе вы установите ClickHouse на систему Ubuntu 22.04 через официальный репозиторий. Итак, вы добавите репозиторий ClickHouse в вашу систему, а затем установите пакет ClickHouse через APT.

Для начала выполните команду apt ниже, чтобы установить некоторые основные зависимости. Когда появится запрос, введите y и нажмите ENTER.

sudo apt install apt-transport-https ca-certificates dirmngr

instal dependencies

Теперь выполните следующую команду, чтобы добавить GPG-ключ и репозиторий ClickHouse в вашу систему. В этом примере вы установите ClickHouse из стабильной ветки репозитория.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754  
echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \  
    /etc/apt/sources.list.d/clickhouse.list

setup repo

Затем обновите и обновите индекс пакетов через команду apt ниже.

sudo apt update

Вы получите сообщение о том, что репозиторий ClickHouse добавлен.

update repo

Теперь установите ‘ clickhouse-server ‘ как систему баз данных и пакет ‘ clickhouse-client ‘ через команду apt ниже.

sudo apt install clickhouse-server clickhouse-client

Введите Y, когда появится запрос на подтверждение, и нажмите ENTER, чтобы продолжить.

install clickhouse server

Также во время установки ClickHouse вам будет предложено установить пароль для пользователя по умолчанию ClickHouse. Введите новый пароль для ClickHouse, и вы получите вывод, похожий на следующий скриншот, когда установка завершится.

setup default password

С установленным ClickHouse выполните следующую команду systemctl, чтобы запустить и включить службу ClickHouse. Эта команда запустит ClickHouse и включит службу для автоматического запуска при загрузке.

sudo systemctl start clickhouse-server  
sudo systemctl enable clickhouse-server

Проверьте службу ClickHouse с помощью следующей команды, чтобы убедиться, что служба ClickHouse работает.

sudo systemctl status clickhouse-server

Вы получите вывод, похожий на следующий — текущее состояние службы ClickHouse работает, и она включена и будет запущена автоматически при старте.

start verify ClickHouse

Вы завершили установку сервера ClickHouse. На следующем этапе вы узнаете, как получить доступ к серверу ClickHouse через клиентское приложение и настроить аутентификацию по паролю для администратора ClickHouse.

Доступ к ClickHouse через командную строку

С установленным сервером ClickHouse вы можете получить доступ к ClickHouse через ‘ clickhouse-client ‘, который вы также установили.

‘clickhouse-client’ — это интерфейс командной строки для взаимодействия и управления сервером ClickHouse. Он аналогичен клиенту ‘ mysql ‘ для сервера MySQL/MariaDB, ‘ psql ‘ для сервера PostgreSQL или ‘ mongod ‘ для сервера MongoDB.

Чтобы получить доступ к серверу ClickHouse, вы можете использовать команду ‘ clickhouse-client ‘ ниже.

sudo clickhouse-client --password

Когда появится запрос на ввод пароля, введите пароль, который вы создали во время установки.

После входа вы должны увидеть оболочку ClickHouse, как показано ниже.

connect to clickhouse

Отсюда вы можете видеть, что вы подключены к серверу ClickHouse v22.11 с пользователем по умолчанию ClickHouse. Сервер ClickHouse по умолчанию работает на localhost с портом 9000.

На этом этапе вы установили сервер и клиент ClickHouse и узнали, как подключиться к серверу ClickHouse с помощью команды ‘ clickhouse-client ‘. На следующем этапе вы настроите пользователя-администратора для сервера ClickHouse.

Настройка пользователя-администратора в ClickHouse

На этом этапе вы создадите пользователя-администратора для сервера ClickHouse. Но перед этим вы включите ‘Управление учетными записями’ для пользователя ‘default’ через конфигурацию ClickHouse.

Для начала откройте конфигурацию ‘/etc/clickhouse-server/users.d/default_password.xml’ с помощью следующей команды редактора nano.

sudo nano /etc/clickhouse-server/users.d/default_password.xml

Добавьте следующую строку между секциями ‘. Это включит ‘ Управление доступом ‘ для пользователя ‘ default ‘.

  
      
          
            ...  
            1  
          
      

Сохраните файл и выйдите из редактора, когда закончите.

Теперь выполните следующую команду systemctl, чтобы перезапустить службу ClickHouse и применить изменения.

sudo systemctl restart clickhouse-server

Теперь, когда ‘ access_management’ включен для пользователя ‘default’, вы создадите нового пользователя-администратора для ClickHouse. Новый пользователь сможет получить доступ ко всем базам данных со всеми привилегиями на сервере ClickHouse.

Выполните следующую команду ‘ clickhouse-client ‘, чтобы подключиться к серверу ClickHouse через пользователя ‘ default ‘.

sudo clickhouse-client --user default --password

Когда появится запрос на ввод пароля, введите пароль, который вы настроили. Теперь вы получите консоль сервера ClickHouse и войдете как пользователь ‘ default ‘ с включенным ‘ access_management ‘.

setup clickhouse

Затем выполните следующий запрос, чтобы создать нового пользователя ClickHouse. Обязательно измените имя пользователя, пароль и IP-адрес хоста. В этом примере будет создан новый пользователь ‘ halsey ‘ с паролем ‘password’, хэшированным с помощью SHA256. Опция ‘ HOST IP ‘ позволяет вам указать IP-адрес, который будет использоваться для подключения к серверу ClickHouse. В этом примере разрешено только с localhost или ‘ 127.0.0.1 ‘.

CREATE USER halsey HOST IP '127.0.0.1' IDENTIFIED WITH sha256_password BY 'password';

Теперь выполните следующий запрос, чтобы предоставить все привилегии на сервере ClickHouse пользователю ‘ halsey ‘.

GRANT ALL ON *.* TO halsey WITH GRANT OPTION;

grant privileges

Затем проверьте список пользователей на сервере ClickHouse с помощью следующего запроса. Вы должны увидеть, что новый пользователь ‘halsey’ добавлен в ClickHouse.

SHOW USERS;

show users

Теперь введите ‘quit’ в клиенте консоли ClickHouse, чтобы выйти.

С новым администратором базы данных созданным, вам также нужно отключить ‘ access_management ‘ для пользователя ‘ default ‘ на вашем сервере ClickHouse.

Откройте конфигурацию ‘ /etc/clickhouse-server/users.d/default_password.xml ‘ с помощью следующей команды редактора nano.

sudo nano /etc/clickhouse-server/users.d/default_password.xml

Измените опцию ‘ access_management ‘ на ‘ 0 ‘, чтобы отключить ‘ Управление доступом ‘ для пользователя ‘ default ‘.

  
      
          
            ...  
            0  
          
      

Сохраните файл и выйдите из редактора, когда закончите.

Перезапустите службу ClickHouse, чтобы применить изменения с помощью команды systemctl ниже.

sudo systemctl restart clickhouse-server

Наконец, выполните следующую команду, чтобы войти на сервер ClickHouse как пользователь ‘halsey’. Когда появится запрос на ввод пароля, введите ваш пароль и нажмите ENTER, чтобы войти.

sudo clickhouse-client --user halsey --password

После входа вы получите вывод, похожий на следующий скриншот. Новый администратор ClickHouse ‘halsey’ добавлен, и вход выполнен успешно.

connect as user

С новым администратором сервера ClickHouse созданным, вы далее узнаете, как использовать ClickHouse для создания баз данных и таблиц, а также вставки и извлечения данных через SQL-запрос ClickHouse.

Основные запросы в системе баз данных ClickHouse

На этом этапе вы узнаете основные запросы системы баз данных ClickHouse, которые похожи на общие SQL-запросы. Вы узнаете, как создать базу данных и таблицу, вставить и извлечь данные из базы данных, а затем основные операции с запросом ‘ ALTER ‘, который вы можете использовать для изменения существующих данных на сервере ClickHouse.

Сначала выполните следующий запрос, чтобы создать новую базу данных. В этом примере вы создадите новую базу данных ‘ testdb ‘.

CREATE DATABASE testdb;

create database

Переключитесь на ‘ testdb ‘ с помощью следующего запроса ‘ USE dbname’.

USE testdb;

use database

Теперь создайте новую таблицу ‘users’ с помощью следующего запроса. Таблица ‘ users ‘ будет иметь следующие поля:

  • id с типом ‘UInt64’ для хранения целых значений.
  • name с типом ‘String’ для хранения строк — длина символа.
  • last_login с типом ‘DateTime’ для хранения данных в формате даты и времени.
  • Движок здесь ‘MergeTree’, который чаще всего используется в ClickHouse.
CREATE TABLE users (id UInt64, name String, jobs String, last_login DateTime) ENGINE=MergeTree() PRIMARY KEY id ORDER BY id;

create table

Затем выполните следующий запрос, чтобы вставить новые данные в таблицу ‘users’. В следующем запросе вы вставите три разных данных в таблицу ‘ users ‘.

INSERT INTO users VALUES (1, 'alice', 'DevOps', '2022-10-10 00:10:10');  
INSERT INTO users VALUES (2, 'alex', 'Manager', '2022-09-05 01:19:10');  
INSERT INTO users VALUES (3, 'janet', 'Developer', '2022-05-05 04:29:10');

Вставьте первые данные.

insert data 1

Вставьте вторые данные.

insert data 2

Вставьте третьи данные.

insert data 3

Выполните следующий запрос, чтобы извлечь данные из таблицы ‘ users ‘. Вы должны увидеть три новых поля данных, которые вы только что добавили.

SELECT * FROM users;

retrive data

Вы узнали, как создать базу данных, переключиться на базу данных, создать таблицу, вставить данные и извлечь данные в системе OLAP баз данных ClickHouse. Далее вы узнаете, как изменить данные с помощью запроса ‘ ALTER ‘.

Выполните следующий запрос ‘ALTER TABLE’, чтобы обновить существующие данные в таблице ‘users’. В этом примере вы измените поле ‘jobs’ для пользователя ‘ alex ‘ на ‘ administrator ‘.

ALTER TABLE users UPDATE jobs = 'Administrator' WHERE name = 'alex';

Проверьте вновь обновленные данные в таблице ‘users’ с помощью следующего запроса. Вы должны увидеть, что новые данные для пользователя ‘ alex ‘ обновлены на ‘ Administrator ‘.

SELECT * FROM users;

Change data with ALTER

Теперь, когда вы узнали основные операции с запросами ClickHouse для создания и переключения баз данных, создания таблиц, вставки данных и извлечения данных. А также вы узнали, как использовать запрос ‘ ALTER ‘ для изменения существующих данных в базе данных ClickHouse. Далее вы очистите свою установку ClickHouse.

Очистка окружения

С новой базой данных и таблицей, созданной и случайными данными, вставленными, на этом последнем этапе вы очистите установку системы баз данных ClickHouse, удалив базу данных и таблицу, которые вы только что создали.

Выполните следующий запрос ‘DROP TABLE’, чтобы удалить таблицу пользователей из базы данных testdb.

DROP TABLE users;

drop table

Теперь удалите базу данных ‘testdb’ с помощью запроса ‘ DROP DATABASE ‘ ниже.

DROP DATABASE testdb;

drop database

Наконец, проверьте список баз данных на сервере ClickHouse с помощью следующего запроса. Вы должны увидеть, что база данных ‘ testdb ‘ удалена с сервера ClickHouse.

SHOW DATABASES;

verify database

Теперь ваша установка ClickHouse очищена, и администратор также настроен.

Заключение

Поздравляем! Вы завершили установку OLAP базы данных ClickHouse и узнали, как настроить пользователя-администратора в ClickHouse. И, наконец, вы также узнали основные запросы для создания базы данных и таблицы, вставки и извлечения данных, изменения существующих данных и очистки базы данных и таблицы.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.