воскресенье, 2 февраля 2020 г.

Установка ClickHouse на CentOS7

Установка ClickHouse на CentOS7

Проверка возможности использования ClickHouse в системе:
# grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
Команда должна выдать «SSE 4.2 supported»

Подключение официального репозитария ClickHouse от Яндекс
# yum install yum-utils
# rpm --import https://repo.yandex.ru/clickhouse/CLICKHOUSE-KEY.GPG
# yum-config-manager --add-repo https://repo.yandex.ru/clickhouse/rpm/stable/x86_64

Установка серверной и клиентской части ClickHouse:
# yum install clickhouse-server clickhouse-client
Запуск сервера и добавление его в автозагрузку:
# systemctl start clickhouse-server
# systemctl enable clickhouse-server

После запуска сервера, соединяемся с ним так:
# clickhouse-client
или
# clickhouse-client -h IP-адрес
По умолчанию клиент clickhouse-client соединяется с localhost:9000, от имени пользователя default без пароля. Также клиент может быть использован для соединения с удалённым сервером с помощью аргумента --host.
Проверка работы сервера командой SELECT:
:) SELECT 1

SELECT 1

┌─1─┐
│ 1 │
└───┘

1 rows in set. Elapsed: 0.004 sec.

Выход из командной строки - CTRL+D

Конфигурационный файл сервера /etc/clickhouse-server/config.xml
Директивы 
<listen_host>::1</listen_host>
<listen_host>127.0.0.1</listen_host>
Определяют, на каком IP будет работать сервер.

Логи в директории /var/log/clickhouse-server/

Кроме порта 9000, сервер слушает HTTP запросы на порт 8123.
Запрос GET без параметров вернет ОК
# curl 'http://localhost:8123/'
Ok.
Передавать команды в ClickHouse из внешних скриптов можно так:
echo 'SELECT 1' | curl 'http://localhost:8123/?' --data-binary @-

Для просмотра всех таблиц на сервере Clickhouse с их размера в Гб, используйте этот запрос:
SELECT table, round(sum(bytes) / 1024/1024/1024, 2) as size_gb \
FROM system.parts \
WHERE active \
GROUP BY table \
ORDER BY size_gb DESC

Файлы базы данных ClickHouse размещены в каталоге
/var/lib/clickhouse/data
Просмотр размера папок на диске в базе ClickHouse
# du -shc /var/lib/clickhouse/data/*

Создание базы данных
:) CREATE DATABASE IF NOT EXISTS ИмяБазы

Пример создания таблицы elismetrics в базе elisdb:
:) CREATE TABLE IF NOT EXISTS elisdb.elismetrics \
(\
    ne String,\
    ts UInt64,\
    d Date MATERIALIZED toDate(ts),\
    dt DateTime MATERIALIZED toDateTime(ts),\
    metric Array(String),\
    value Array(Float64)\
) ENGINE = MergeTree(d,ne,8192)

Пример создания таблицы elismetrics в базе elisdb с партициями по месяцам:
CREATE TABLE IF NOT EXISTS elisdb.elismetrics \
(\
    ne String,\
    ts UInt64,\
    d Date MATERIALIZED toDate(ts),\
    dt DateTime MATERIALIZED toDateTime(ts),\
    metric Array(String),\
    value Array(Float64)\
) ENGINE = MergeTree()\
PARTITION BY toYYYYMM(d) ORDER BY (d,ne) SETTINGS index_granularity = 8192

Пример удаления таблицы:
DROP TABLE База.Таблица

Выборка из таблицы:
SELECT * FROM База.Таблица

Список активных партиций просмотреть можно так:
SELECT partition, name, table FROM system.parts WHERE active

Удаление партиции:
ALTER TABLE ИмяТаблицы DROP PARTITION ИмяПартиции
Например: ALTER TABLE elisdb.elismetrics DROP PARTITION 20200201

1 комментарий:

  1. As stated by Stanford Medical, It's in fact the one and ONLY reason women in this country get to live 10 years longer and weigh an average of 42 lbs less than us.

    (Just so you know, it has NOTHING to do with genetics or some hard exercise and EVERYTHING around "how" they are eating.)

    BTW, I said "HOW", and not "what"...

    TAP on this link to determine if this little test can help you decipher your real weight loss potential

    ОтветитьУдалить