Поиск по сайту:

Как установить систему баз данных ClickHouse OLAP на Debian 11


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установите ClickHouse в Debian 11
  4. Управление сервисом ClickHouse
  5. Как использовать ClickHouse
  6. Включить веб-интерфейс ClickHouse
  7. Доступ к веб-интерфейсу ClickHouse
  8. Заключение

ClickHouse — это бесплатная система управления базами данных с открытым исходным кодом, ориентированная на столбцы. Он используется для оперативной аналитической обработки и позволяет формировать аналитические отчеты с помощью SQL-запросов в режиме реального времени. Он хранит записи в блоках, сгруппированных по столбцам, а не по строкам. Таким образом, он тратит меньше времени на чтение данных при выполнении запросов. Кроме того, базы данных, ориентированные на столбцы, могут выполнять вычисления и возвращать результаты намного быстрее, чем традиционные системы, основанные на строках, для определенных рабочих нагрузок.

В этом посте мы покажем вам, как установить базу данных ClickHoust на Debian 11.

Предпосылки

  • Сервер под управлением Debian 11.
  • На вашем сервере настроен пароль root.

Начиная

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

apt-get update -y

После обновления всех пакетов установите другие необходимые пакеты с помощью следующей команды:

apt-get install curl gnupg2 wget git apt-transport-https ca-certificates -y

После установки всех необходимых пакетов можно переходить к следующему шагу.

Установите ClickHouse на Debian 11

По умолчанию пакет ClickHouse не включен в стандартный репозиторий Debian 11. Поэтому вам нужно будет добавить репозиторий ClickHouse в вашу систему.

Сначала загрузите и добавьте ключ GPG, используя следующую команду:

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

Вы получите следующий вывод:

Executing: /tmp/apt-key-gpghome.WyTt1Mpvh7/gpg.1.sh --keyserver keyserver.ubuntu.com --recv E0C56BD4
gpg: key C8F1E19FE0C56BD4: public key "ClickHouse Repository Key <>" imported
gpg: Total number processed: 1
gpg:               imported: 1

Затем добавьте репозиторий ClickHouse в APT с помощью следующей команды:

echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | tee /etc/apt/sources.list.d/clickhouse.list

Далее обновите репозиторий и установите ClickHouse с помощью следующей команды:

apt-get update -y
apt-get install clickhouse-server clickhouse-client -y

Во время установки вам будет предложено ввести пароль администратора ClickHouse, как показано ниже:

Enter password for default user: 
Password for default user is saved in file /etc/clickhouse-server/users.d/default-password.xml.
Setting capabilities for clickhouse binary. This is optional.
 chown -R clickhouse:clickhouse '/etc/clickhouse-server'

ClickHouse has been successfully installed.

Start clickhouse-server with:
 sudo clickhouse start

Start clickhouse-client with:
 clickhouse-client --password

Synchronizing state of clickhouse-server.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable clickhouse-server
Created symlink /etc/systemd/system/multi-user.target.wants/clickhouse-server.service → /etc/systemd/system/clickhouse-server.service.
Setting up clickhouse-client (21.12.3.32) ...

После завершения установки можно переходить к следующему шагу.

Управление сервисом ClickHouse

Теперь вы можете запустить сервис ClickHouse и включить его запуск при перезагрузке системы с помощью следующей команды:

systemctl start clickhouse-server 
systemctl enable clickhouse-server

Теперь вы можете проверить статус ClickHouse с помощью следующей команды:

systemctl status clickhouse-server

Вы получите следующий вывод:

? clickhouse-server.service - ClickHouse Server (analytic DBMS for big data)
     Loaded: loaded (/etc/systemd/system/clickhouse-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-12-31 11:22:57 UTC; 9s ago
   Main PID: 18152 (clckhouse-watch)
      Tasks: 206 (limit: 2341)
     Memory: 108.2M
        CPU: 931ms
     CGroup: /system.slice/clickhouse-server.service
             ??18152 clickhouse-watchdog        --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-serve>
             ??18153 /usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse-server/clickhouse-serve>

Dec 31 11:22:57 debian11 systemd[1]: Started ClickHouse Server (analytic DBMS for big data).
Dec 31 11:22:57 debian11 clickhouse-server[18152]: Processing configuration file '/etc/clickhouse-server/config.xml'.
Dec 31 11:22:57 debian11 clickhouse-server[18152]: Logging trace to /var/log/clickhouse-server/clickhouse-server.log
Dec 31 11:22:57 debian11 clickhouse-server[18152]: Logging errors to /var/log/clickhouse-server/clickhouse-server.err.log
Dec 31 11:22:58 debian11 clickhouse-server[18153]: Processing configuration file '/etc/clickhouse-server/config.xml'.
Dec 31 11:22:58 debian11 clickhouse-server[18153]: Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/config.xml'.
Dec 31 11:22:58 debian11 clickhouse-server[18153]: Processing configuration file '/etc/clickhouse-server/users.xml'.
Dec 31 11:22:58 debian11 clickhouse-server[18153]: Merging configuration file '/etc/clickhouse-server/users.d/default-password.xml'.
Dec 31 11:22:58 debian11 clickhouse-server[18153]: Saved preprocessed configuration to '/var/lib/clickhouse/preprocessed_configs/users.xml'.

Как использовать ClickHouse

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

Сначала подключитесь к ClickHouse с помощью следующей команды:

clickhouse-client --password

Вам будет предложено ввести пароль по умолчанию, как показано ниже:

ClickHouse client version 21.12.3.32 (official build).
Password for user (default): 

Provide the password which you have set during the installation and press the Enter key. You will get the following shell:

Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 21.12.3 revision 54452.

debian11 :) 

Теперь создайте базу данных с именем testdb, используя следующую команду:

debian11 :) CREATE DATABASE testdb;

Вы получите следующий вывод:

CREATE DATABASE testdb

Query id: a48b3031-a363-4357-b4f9-ffd3edd73b0e

Ok.

0 rows in set. Elapsed: 0.005 sec. 

Затем измените базу данных на testdb, используя следующую команду:

debian11 :) USE testdb;

Вы получите следующий вывод:

USE testdb

Query id: 827e0d94-c3eb-46ec-ba04-97386a58e531

Ok.

0 rows in set. Elapsed: 0.001 sec. 

Затем создайте таблицу с именем table1 с помощью следующей команды:

debian11 :) CREATE TABLE table1 (? id UInt64,? name String,? url String,? created DateTime?) ENGINE = MergeTree()?PRIMARY KEY id?ORDER BY id;

Вы получите следующий вывод:

CREATE TABLE table1
(
    `id` UInt64,
    `name` String,
    `url` String,
    `created` DateTime
)
ENGINE = MergeTree
PRIMARY KEY id
ORDER BY id

Query id: 922f4fe1-283f-4e5d-9966-498344b2aa4d

Ok.

0 rows in set. Elapsed: 0.006 sec. 

Затем вставьте какое-либо значение в таблицу, используя следующую команду:

debian11 :) INSERT INTO table1 VALUES (1, 'jay', 'https://linux-console.net', '2021-12-31 00:01:01');

Вы получите следующий вывод:

INSERT INTO table1 FORMAT Values

Query id: be1c57cd-5759-47cd-8649-ce82cd0c1f7d

Ok.

1 rows in set. Elapsed: 0.005 sec. 

Затем добавьте новый столбец с помощью следующей команды:

debian11 :) ALTER TABLE table1 ADD COLUMN location String;

Вы получите следующий вывод:

ALTER TABLE table1
    ADD COLUMN `location` String

Query id: 106fa166-afda-4598-a32c-b50da237bfe5

Ok.

0 rows in set. Elapsed: 0.007 sec. 

Если вы хотите получить данные из таблицы, выполните следующую команду:

debian11 :) SELECT url, name FROM table1 WHERE url = 'https://linux-console.net' LIMIT 1;

Вы получите следующий вывод:

SELECT
    url,
    name
FROM table1
WHERE url = 'https://linux-console.net'
LIMIT 1

Query id: 8ee433ec-0eb1-4409-b9a8-7e5794b872ce

??url?????????????????????name??
? https://linux-console.net ? jay  ?
????????????????????????????????

1 rows in set. Elapsed: 0.007 sec. 

Чтобы удалить столбец, выполните следующую команду:

debian11 :) ALTER TABLE table1 DROP COLUMN location;

Чтобы удалить таблицу, выполните следующую команду:

debian11 :) DROP TABLE table1;

Чтобы удалить базу данных, выполните следующую команду:

debian11 :) DROP DATABASE testdb;

Чтобы выйти из оболочки ClickHouse, выполните следующую команду:

debian11 :) exit;

Включить веб-интерфейс ClickHouse

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

nano /etc/clickhouse-server/config.xml

Раскомментируйте и измените следующие строки:

 <listen_host>0.0.0.0</listen_host>
    <http_server_default_response><![CDATA[<html ng-app="SMI2"><head><base href="http://ui.tabix.io/"></head><body><div ui-view="" class="content-ui"></div><script src="http://loader.tabix.io/master.js"></script></body></html>]]></http_server_default_response>

Сохраните и закройте файл, затем перезапустите сервис ClickHouse, чтобы применить изменения конфигурации:

systemctl restart clickhouse-server

Доступ к веб-интерфейсу ClickHouse

По умолчанию веб-интерфейс ClickHouse прослушивает порт 8123. Вы можете проверить это с помощью следующей команды:

ss -antpl | grep 8123

Вы должны увидеть следующий вывод:

LISTEN 0      4096         0.0.0.0:8123      0.0.0.0:*    users:(("clickhouse-serv",pid=18580,fd=158)) 

Теперь откройте веб-браузер и войдите в веб-интерфейс ClickHouse, используя URL-адрес http://your-server-ip:8123. Вы должны увидеть следующий экран:

Введите имя пользователя и пароль по умолчанию и нажмите кнопку «Войти». После входа в систему вы должны увидеть следующий экран:

Заключение

В приведенном выше руководстве мы объяснили, как установить систему баз данных ClickHouse в Debian 11. Мы также объяснили, как создавать базы данных и управлять ими, а также включать веб-интерфейс ClickHouse. Надеюсь, это поможет вам установить ClickHouse в рабочей среде. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.