Вернуть старое меню
Бесплатно, 24/7 8 (800) 775-97-42
Country flag RU
Country flag EN
Country flag DE
₽ RUB
$ USD
€ EUR
Выбрать VPS
Маркетплейс
О нас
Сообщество
Поддержка
Баланс:
Бонусы:
Войти
Выйти
Зарегистрироваться
ГОТОВЫЕ ТАРИФЫ
Ref icon
VPS Старт От 139 рублей/мес
Ref icon
VPS Мощные Мощные серверы по выгодной цене
Ref icon
VPS Windows Удобные конфигурации для работы с ОС Windows
Ref icon
VPS Быстрые NVMe Максимальная скорость с промышленными NVMe дисками
Ref icon
VPS Plesk Настройте сервер под себя в несколько кликов
Ref icon
VPS с 1C для бухгалтеров Оптимизированные под 1C серверы
Ref icon
VPS для трейдинга Установите торговые терминалы за 1 клик
Ref icon
VPS для геймеров Мощное железо для мощных рейдов
Ref icon
VPS для бизнеса Настроить любой параметр сервера
Ref icon
Посмотреть все тарифы
Card icon Своя конфигурация
Удобный конфигуратор позволит вам настроить любой параметр сервера, а мы предложим за него лучшую цену.
Собрать
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
КЛИЕНТАМ
О компании Входим в топ-15 IAAS в России
Дата-центры 16 ЦОД уровня Tier III в 7 странах
Аттестация по ФСТЭК Поможем с гос. лицензированием
Бонусная программа Накопительная система лояльности
Card icon Пинг до дата-центров
Измерьте ping от вас до всех наших дата-центров. Мы подберем тот, который подходит для вас идеально.
Измерить
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
КЛИЕНТАМ
Справочник Пошаговые инструкции, как настроить VPS
FAQ Частые вопросы о настройке VPS и сервисе
Новости и события Новости сервиса, информация о событиях и спецпроектах компании
Card icon Соцсети
Наш блог на Хабре, выступления, новости компании.
Присоединиться
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
Бесплатно, 24/7 8 (800) 775-97-42
Mobile menu button
Выбрать VPS
Mobile card icon
Своя конфигурация Удобный конфигуратор позволит вам настроить любой параметр сервера, а мы предложим за него лучшую цену.
Собрать
Ref icon
VPS Старт От 139 рублей/мес
Ref icon
VPS Мощные Мощные серверы по выгодной цене
Ref icon
VPS Windows Удобные конфигурации для работы с ОС Windows
Ref icon
VPS Быстрые NVMe Максимальная скорость с промышленными NVMe дисками
Ref icon
VPS Plesk Настройте сервер под себя в несколько кликов
Ref icon
VPS с 1C для бухгалтеров Оптимизированные под 1C серверы
Ref icon
VPS для трейдинга Установите торговые терминалы за 1 клик
Ref icon
VPS для геймеров Мощное железо для мощных рейдов
Ref icon
VPS для бизнеса Настроить любой параметр сервера
Ref icon
Посмотреть все тарифы
Ref icon
Бесплатный тест на 3 дня
Маркетплейс
О нас
Mobile card icon
Пинг до дата-центров Измерьте ping от вас до всех наших дата-центров. Мы подберем тот, который подходит для вас идеально.
Измерить
О компании Входим в топ-15 IAAS в России
Дата-центры 16 ЦОД уровня Tier III в 7 странах
Аттестация по ФСТЭК Накопительная система лояльности
Бонусная программа Накопительная система лояльности
Сообщество
Mobile card icon
Соцсети Наш блог на Хабре, выступления, новости компании.
Присоединиться
Справочник Пошаговые инструкции, как настроить VPS
FAQ Частые вопросы о настройке VPS и сервисе
Новости и события Новости сервиса, информация о событиях и спецпроектах компании
Поддержка
Country flag RU
Country flag EN
Country flag DE
₽ RUB
$ USD
€ EUR
Войти
Зарегистрироваться
Личный кабинет
Мои серверы
Домены
Баланс: Бонусы:
Заказать
Настройки
Партнеру
Выйти
Мои серверы
Домены
Заказать
Настройки
Партнеру
  • ВЫБРАТЬ VPS
  • ДАТА-ЦЕНТРЫ
  • СПРАВОЧНИК
  • ПОДДЕРЖКА
  • ВОЙТИ
RuVDS/Справочник/Развертывание ПО на VPS сервере/Как установить и использовать ClickHouse на CentOS Stream

Как установить и использовать ClickHouse на CentOS Stream

2297 просмотров 0 2021-04-16 2022-07-15

ClickHouse – столбцовая или колоночная система управления базами данных, которая позволяет выполнять онлайн-запросы на структурированных больших данных (Big Data). СУБД ClickHouse разработана компанией Yandex для онлайн обработки аналитических запросов (OLAP). ClickHouse использует диалект SQL, который поддерживает декларативный язык запросов во многих случаях совпадающий с SQL стандартом. В этом руководстве мы изучим, как установить и использовать ClickHouse на вашем сервере с CentOS Stream.

Установка ClickHouse

Инсталляцию ClickHouse на вашем VPS необходимо производить пользователем, имеющим привилегии sudo, но не являющимся учётной записью root.

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

Для начала, перед тем, как мы приступим к загрузке архивов с дистрибутивами, нужно узнать номер последней стабильной версии ClickHouse. Это можно сделать перейдя на страницу репозитория, и выбрать самый свежий из выложенных архивов. На момент написания статьи номер последней версии – 20.2.1.2183, эту версию ClickHouse мы и будет устанавливать.

Создайте в домашнем каталоге вашего пользователя специальную директорию clickhouse, перейдите в неё и при помощи команды curl загрузите архивы последней версии ClickHouse:

$ cd ~
$ mkdir clickhouse
$ cd clickhouse
$ curl -O https://repo.clickhouse.tech/tgz/clickhouse-common-static-20.2.1.2183.tgz
$ curl -O https://repo.clickhouse.tech/tgz/clickhouse-common-static-dbg-20.2.1.2183.tgz
$ curl -O https://repo.clickhouse.tech/tgz/clickhouse-server-20.2.1.2183.tgz
$ curl -O https://repo.clickhouse.tech/tgz/clickhouse-client-20.2.1.2183.tgz

В чистой CentOS Stream по умолчанию не установлен архиватор tar, поэтому, если вы не инсталлировали его ранее, необходимо будет проделать это сейчас. Архиватор понадобится для распаковки скачанных файлов:

$ sudo dnf install tar

Теперь, распакуйте полученные архивы:

$ tar -xzvf clickhouse-common-static-20.2.1.2183.tgz
$ tar -xzvf clickhouse-common-static-dbg-20.2.1.2183.tgz
$ tar -xzvf clickhouse-server-20.2.1.2183.tgz
$ tar -xzvf clickhouse-client-20.2.1.2183.tgz

И запустите установку пакета следующими командами:

$ sudo clickhouse-common-static-20.2.1.2183/install/doinst.sh
$ sudo clickhouse-common-static-dbg-20.2.1.2183/install/doinst.sh
$ sudo clickhouse-server-20.2.1.2183/install/doinst.sh
$ sudo /etc/init.d/clickhouse-server start

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

Запуск службы сервера ClickHouse - Как установить и использовать ClickHouse на CentOS Stream

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

$ sudo service clickhouse-server status
Проверка состояния службы сервера ClickHouse - Как установить и использовать ClickHouse на CentOS Stream

Останется запустить инсталляцию клиента:

$ sudo clickhouse-client-20.2.1.2183/install/doinst.sh

Если сервер ClickHouse запустился без ошибок, вы можете начать использовать консоль для подключения к нему при помощи команды clickhouse-client:

$ clickhouse-client
Подключение к консоли ClickHouse - Как установить и использовать ClickHouse на CentOS Stream

Для выхода из консоли нажмите Ctrl-D.

Таким образом, вы успешно установили сервер и клиент ClickHouse. Далее, перейдём к запуску СУБД.

Создание базы данных

Для того, чтобы создать или удалить базу данных в ClickHouse, вы можете пользоваться SQL-операторами, запуская их непосредственно из командной строки. Для чего вам нужно подключиться к СУБД, запустив консоль при помощи команды:

$ clickhouse-client --multiline

Здесь, опция --multiline позволит использовать командные запросы, состоящие из нескольких строк.

Подключение к консоли ClickHouse в мультистроком режиме

Теперь наш клиент готов ко вводу запросов. Для того, чтобы увидеть, как работает ClickHouse, давайте попробуем создать свою базу данных. Назовём её, например, test_db. Для создания БД в командной строке консоли наберите:

:) CREATE DATABASE test_db;
Создание базы данных

Для использования только что созданной базы данных, нужно переключиться на неё с помощью оператора USE:

:) USE test_db;
Подключение к базе данных

В ClickHouse структура таблиц идентична тому, что представляют из себя таблицы в других реляционных СУБД. Для создания таблиц в ClickHouse используется следующий синтаксис:

CREATE TABLE tbl_name
(
col-1_name column_type [options],
col-2_name column_type [options],
...
) ENGINE = engine

Здесь, tbl_name – название таблицы, col-1_name и col-2_name – названия столбцов. Каждый из столбцов должен иметь определённый тип. Среди наиболее часто используемых:

  • UInt64 – тип, использующийся для хранения целых чисел в диапазоне от 0 до 18446744073709551615;
  • Float64 – тип, использующийся для хранения чисел с плавающей точкой;
  • String – тип, использующийся для хранения символьных переменных;
  • Date – дата в формате YYYY-MM-DD;
  • DateTime – дата и время в формате YYYY-MM-DD HH:MM:SS.

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

Создание таблицы

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

  • id – первичный ключ или, другими словами, уникальный идентификатор строки;
  • val – десятичное число;
  • word – символьная строка;
  • dat – дата и время.

Для создания нашей таблицы в консоли ClickHouse наберите:

:) CREATE TABLE test_tbl (
:] id UInt64,
:] val Float64,
:] word String,
:] dat DateTime
:] ) ENGINE = MergeTree() 
:] PRIMARY KEY id 
:] ORDER BY id;

После того, как вы идентифицировали в таблице столбцы, вам нужно указать для вашей таблицы движок. Мы укажем MergeTree. Семейство движков MergeTree рекомендуется использовать для производственных баз данных благодаря их оптимизированной поддержке больших вводов в реальном времени, общей надёжности и поддержке запросов.

Также, после указания типа движка, в введённой команде мы использовали опцию PRIMARY KEY, которая определяет столбец id как первичный ключ, и опцию ORDER BY, которая указывает, что данные в таблице будут отсортированы по колонке id.

Результатом выполнения этой команды будет создание таблицы test_tbl:

Создание таблицы

Таким образом, мы создали тестовую базу данных и таблицу в ней. Далее, мы посмотрим, как можно вставить данные в таблицу, обновить и удалить их.

Вставка, обновление и удаление данных

В этом разделе мы попробуем вставлять, обновлять и удалять строки и столбцы в нашей таблице test_tbl.

Синтаксис команды для вставки строки в таблицу имеет следующий вид:

INSERT INTO tbl_name VALUES (col-1_value, col-2_value, ....);

Теперь, наберите в командной строке консоли следующий инструкции для добавления строк в нашу таблицу:

:) INSERT INTO test_tbl VALUES (1, 11.1, 'string 1', '2021-01-01 01:01:01');
:) INSERT INTO test_tbl VALUES (2, 22.2, 'string 2', '2021-02-02 02:02:02');
:) INSERT INTO test_tbl VALUES (3, 33.3, 'string 3', '2021-03-03 03:03:03');
:) INSERT INTO test_tbl VALUES (4, 44.4, 'string 4', '2021-04-04 04:04:04');
:) INSERT INTO test_tbl VALUES (5, 55.5, 'string 5', '2021-05-05 05:04:05');

При успешном добавлении строк в таблицу вывод каждой из этих команд выглядит как:

Добавление записи в таблицу

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

ALTER TABLE tbl_name ADD COLUMN col_name col_type;

Используя это правило, добавьте в таблицу столбец, который будет содержать текстовые данные (комментарий):

:) ALTER TABLE test_tbl ADD COLUMN description String;

В случае удачного добавления колонки вывод команды будет следующим:

Добавление колонки в таблицу

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

Команда для обновления пакета строк в ClickHouse выглядит следующим образом:

ALTER TABLE tbl_name UPDATE  col-1 = val-1, col-2 = val-2 ...  WHERE  filter-conditions;

Теперь запустите изменение содержимого столбца word в строках, где значение val больше, чем 30:

:) ALTER TABLE test_tbl UPDATE word = 'Updated String' WHERE val > 30;

При успешном применении изменений на экране будет следующее:

Изменение записей в таблице

В свою очередь, команда, удаляющая строки из таблицы, имеет следующую структуру:

ALTER TABLE tbl_name DELETE WHERE filter_conditions;

В качестве теста давайте удалим из таблицы записи, значение val у которых меньше, чем 20:

:) ALTER TABLE test_tbl DELETE WHERE val < 20;
Удаление записей из таблицы

Также, в ClickHouse можно удалить колонку из таблицы. Такая команда имеет следующий формат:

ALTER TABLE tbl_name DROP COLUMN col_name;

Таким образом, мы может удалить из нашей таблицы столбец description, который мы добавили ранее:

:) ALTER TABLE test_tbl DROP COLUMN description;

Вывод после выполнения удаления колонки выглядит следующим образом:

Удаление столбца из таблицы

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

Запрос данных

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

Запросы позволяют получать данные, отфильтрованные по определённым условиям. В SQL основным оператором, на основе которого формируются запросы, является оператор SELECT. Этот оператор имеет следующий синтаксис:

SELECT function-1(col-1), function-2(col-2) FROM tbl_name WHERE filter_conditions row_options;

В качестве теста запустите команду запроса, который покажет нам данные из столбцов val и word, для строк, где колонка word содержит Updated String:

:) SELECT val, word FROM test_tbl WHERE word = 'Updated String';

Вывод после выполнения этого запроса будет выглядеть так:

Выборка записей из таблицы

Кроме всего прочего, в ClickHouse широко применяются так называемые агрегационные запросы. Такие запросы оперируют с набором значений и возвращают единичное выходное значение. К таким запросам, поддерживаемым ClickHouse относятся, например, COUNT. Этот оператор возвращает количество строк, которое соответствует указанным условиям. Другой оператор подобного типа – SUM. Он возвращает сумму значений указанных колонок. Подобным образом запрос AVG возвращает среднее значение указанных колонок.

Теперь, чтобы увидеть, как это работает, мы запросим у нашей тестовой таблицы количество записей, содержащейся в ней:

:) SELECT COUNT() FROM test_tbl;
Подсчёт количества записей в таблице

Теперь, запросите сумму всех записей по столбцу val:

:) SELECT SUM(val) FROM test_tbl;
Подсчёт суммы значений по условию

Удаление таблиц и баз данных

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

Оператор удаления таблицы имеет следующий синтаксис:

DROP TABLE tbl_name;

Следующая команда удалит таблицу test_tbl:

:) DROP TABLE test_tbl;
Удаление таблицы

Команда удаления базы данных очень похожа на предыдущую:

:) DROP DATABASE test_db;
Удаление базы данных

Таблица, а потом и база данных удалены. Теперь нам нужно будет настроить удалённый доступ к нашей СУБД.

Настройка брандмауэра (опционально)

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

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

$ cd /etc/clickhouse-server
$ sudo vi config.xml

Здесь вам нужно будет раскомментировать строку:

<!– <listen_host>0.0.0.0</listen_host> –>

После чего закройте файл с сохранением изменений и перезапустите службу clickhouse-server:

$ sudo service clickhouse-server restart
Перезапуск службы сервера ClickHouse - Как установить и использовать ClickHouse на CentOS Stream

Далее, добавьте IP-адрес удалённого сервера в зону, которая называется public, например:

$ sudo firewall-cmd --permanent --zone=public --add-source=192.168.1.123/24

Теперь, откройте в брандмауэре доступ для портов 8123 и 9000:

$ sudo firewall-cmd --permanent --zone=public --add-port=8123/tcp
$ sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp

И перезапустите брандмауэр:

$ sudo firewall-cmd --reload

Вывод об успешном выполнении этих команд должен выглядеть так:

Сообщение об успешном выполнении команды - Как установить и использовать ClickHouse на CentOS Stream

После того, как вы произвели данные настройки, ваш сервер ClickHouse стал доступен с IP-адреса, добавленного в брандмауэр. Чтобы осуществить соединение с сервером ClickHouse со стороны удалённой машины, необходимо на втором сервере произвести настройки, описанные в разделе “Установка ClickHouse”. При этом, обязательно убедитесь, что на нём установлен clickhouse-client.

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

$ clickhouse-client --host XXX.XXX.XXX.XXX --multiline

Здесь XXX.XXX.XXX.XXX – IP-адрес вашего сервера ClickHouse.

В случае успешного подключения вы должны увидеть следующий вывод:

Сообщение об успешном подключении к серверу ClickHouse - Как установить и использовать ClickHouse на CentOS Stream

Заключение

Таким образом, вы установили СУБД ClickHouse на свой VPS, создали базу данных и таблицу, попробовали добавлять данные в неё, а также, изменять и удалять их. Это было первоначальное знакомство с тем, как установить и использовать ClickHouse на сервере с CentOS Stream.

Статья полезна?

Да  Нет
Похожие статьи
  • Настройка HTTPS-доступа к Cloudreve через Nginx и Let’s Encrypt
  • Как установить Caddy на CentOS Stream 9
  • Как установить Cloudreve на Ubuntu 24.04
  • Как установить Nextcloud на Ubuntu 24.04
  • Как установить Puma на Ubuntu 24.04
  • Дополнительные меры безопасности в Mosquitto
Оставить комментарий Отменить ответ

Популярные статьи
  • Как подключиться по RDP из-под MacOS
  • Как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04
  • Управление портами в Linux (Ubuntu/Debian/CentOS)
  • Настройка VPN с использованием WireGuard
  • Как извлекать и разархивировать файлы .tar.gz в Linux-системах
Разделы Справочника
  • Настройка VPS Сервера
  • Начало работы
  • Особенности виртуального сервера
  • Партнерам
  • Развертывание ПО на VPS сервере
  • Сетевые настройки сервера
GAME OVERNIGHT
CLOUDRUSSIA
STRATONET
SPACE DC
ARCTIC DC
VPS/VDS серверы:
Тестовый период
Дешевый VPS
VPS Старт
VPS Мощные
VPS Windows
VPS Быстрые NVMe
VPS с 1C
Форекс VPS
Игровые серверы
VPS для бизнеса
Пинг до дата-центров
Услуги:
Маркетплейс
Панель ispmanager
Антивирусная защита
Аренда лицензий
Облачное хранилище
VPS серверы с Plesk Obsidian
Колокация
Looking Glass
DNS
Клиентам:
О компании
Дата-Центры
Новости
Аттестация по ФСТЭК
Бонусная программа
Публичная Оферта
Соглашение об уровне услуг
Политика обработки персональных данных
Сувениры от RuVDS
Партнерам:
Для прессы
Партнерская программа
Отзывы
API
Помощь:
Справочник
FAQ
Созданных
серверов
231504
Huawey
Supermicro
Cisco
Intel
Microsoft
ISP
Kaspersky
RDCA Logo

«Креатив года» Премия ЦОДы.рф 2021, 2025

RDCA Logo

«Хостер года» Премия ЦОДы.рф 2023

RDCA Logo

«Человек года» Премия ЦОДы.рф 2024

RuVDS
support@RUVDS.com
8 (800) 775-97-42
+7 (495) 135-10-99
МЫ В СОЦИАЛЬНЫХ СЕТЯХ
Copyright © 2025 RuVDS. Все права защищены.
ООО "МТ ФИНАНС" | ОГРН 1157746680332
Оставить отзыв

Условия получения бонуса за оставленный отзыв:

  1. Напишите про нас на любом из специализированных сайтах для отзывов.
  2. Пришлите нам текст отзыва и ссылку на ваш отзыв.
  3. После проверки, мы опубликуем ваш отзыв у нас на сайте и также начислим бонус на ваш баланс.
Strong Testimonials form submission spinner.

Обязательное поле

Укажите электронную почту вашего аккаунта RUVDS
Укажите ссылку на ваш отзыв
rating fields
Поставьте оценку серверам RUVDS
Оставить отзыв
Strong Testimonials form submission spinner.

Обязательное поле

Укажите электронную почту вашего аккаунта RUVDS
Укажите ссылку на ваш отзыв
rating fields
Поставьте оценку серверам RUVDS