ClickHouse

RPMs

ClickHouse e' un potente Columnar Database SQL Open Source con ottime prestazioni sulle attivita' OLAP (On-Line Analytical Processing).

In questa paginetta vediamo le diverse possibilita' di installazione con RPMs che e' la modalita' piu' utilizzata per le distribuzioni Linux Red Hat, CentOS e compatibili.

Installazione

ClickHouse puo' essere installato in diversi modi... per le distribuzioni Linux Red Hat, CentOS e compatibili la modalita' piu' comune e' l'utilizzo di RPM con un repository YUM.

RPM Yandex

Yandex e' l'azienda che ha sviluppato ClickHouse... percio' partiamo da qui!

La procedura dettagliata per la configurazione del repository e' descritta nella documentazione ufficiale.
In pratica vanno lanciati i comandi:

sudo yum install yum-utils sudo rpm --import https://repo.yandex.ru/clickhouse/CLICKHOUSE-KEY.GPG sudo yum-config-manager --add-repo https://repo.yandex.ru/clickhouse/rpm/stable/x86_64

Una volta configurato il repository si lancia il comando:
 yum install clickhouse-server clickhouse-client

Gia' fatto! Si puo' utilizzare lanciando clickhouse-client .

In realta' siamo curiosi e diamo un'occhiata alla configurazione del repository:

[repo.yandex.ru_clickhouse_rpm_stable_x86_64]
name=added from: https://repo.yandex.ru/clickhouse/rpm/stable/x86_64
baseurl=https://repo.yandex.ru/clickhouse/rpm/stable/x86_64
enabled=1

[repo.yandex.ru_clickhouse_rpm_prestable_x86_64]
name=added from: https://repo.yandex.ru/clickhouse/rpm/prestable/x86_64
baseurl=https://repo.yandex.ru/clickhouse/rpm/prestable/x86_64
enabled=0

[repo.yandex.ru_clickhouse_rpm_testing_x86_64]
name=added from: https://repo.yandex.ru/clickhouse/rpm/testing/x86_64
baseurl=https://repo.yandex.ru/clickhouse/rpm/testing/x86_64
enabled=0

Per utilizzare una versione prestable o, a vostro rischio e pericolo, una versione testing basta cambiare l'enabled [NdA ammetto di non aver mai installato una versione testing ma non per prudenza, in realta' sono molto piu' spericolato: per provare le funzionalita' piu' recenti ricompilo i sorgenti da Git].

RPM Altinity

Altinity e' la principale azienda che fornisce supporto su ClickHouse ed e' stata la prima a fornire i repository RPM.

Lo script di installazione e':

SCRIPT_URL="https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh" # SCRIPT_URL="https://packagecloud.io/install/repositories/altinity/clickhouse-altinity-stable/script.rpm.sh" curl -s "${SCRIPT_URL}" | sudo bash

Ecco il repository:

[altinity_clickhouse]
name=altinity_clickhouse
baseurl=https://packagecloud.io/altinity/clickhouse/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/altinity/clickhouse/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

Adelante... cum judicio

ClickHouse si arricchisce continuamente di nuove funzionalita' e di conseguenza i rilasci di ClickHouse sono molto frequenti.

Dapprima Altinity con le Altinity Stable Releases e piu' di recente Yandex con le LTS (Long Term Support) Release hanno selezionato alcune release e le mantengono regolarmente.

Per l'installazione del repository lo script e':

SCRIPT_URL="https://packagecloud.io/install/repositories/altinity/clickhouse-altinity-stable/script.rpm.sh" curl -s "${SCRIPT_URL}" | sudo bash

Ecco il repository Altinity Stable:

Altinity_clickhouse-altinity-stable.repo
[Altinity_clickhouse-altinity-stable]
name=Altinity_clickhouse-altinity-stable
baseurl=https://packagecloud.io/Altinity/clickhouse-altinity-stable/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/Altinity/clickhouse-altinity-stable/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[Altinity_clickhouse-altinity-stable-source]
name=Altinity_clickhouse-altinity-stable-source
baseurl=https://packagecloud.io/Altinity/clickhouse-altinity-stable/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/Altinity/clickhouse-altinity-stable/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

Le versioni disponibili sono molte: 1.1.54292, 1.1.54327, 1.1.54343, 1.1.54385, 18.14.15, 18.14.19, 19.11.8, 19.13.7.57, 19.16.10.44, 19.16.12.49, 19.16.14.65... naturalmente consigliamo l'ultima!

Ecco il repository Yandex LTS:

[repo.yandex.ru_clickhouse_rpm_lts_x86_64]
name=added from: https://repo.yandex.ru/clickhouse/rpm/lts/x86_64
baseurl=https://repo.yandex.ru/clickhouse/rpm/lts/x86_64
enabled=1

L'unica versione disponibile e' la 19.14 con i due rilasci 19.14.8.9-2 e 19.14.10.16-2 [NdA ora, 2020-04, e' disponibile anche la 20.3.40.1].

Varie ed eventuali

Qual'e' la versione giusta?
Dipende... se volte contribuire al software forkate il repository su GitHub e vi ricompilate tutto da 0; se volete una versione cambiata di rado potete scegliere una LTS; per avere il massimo del supporto e' consigliabile un'Altinity Stable; ... insomma dipende dalle esigenze!

Il documento Introduzione a ClickHouse contiene una presentazione sulle funzioni di base, il documento Architettura di ClickHouse contiene una presentazione dell'architettura, DBA scripts contiene alcuni dei comandi piu' utili per il DBA ed infine il documento Your server Stinks! riporta la storia delle principali versioni.
Narturalmente la fonte piu' completa di informazioni e' la documentazione ufficiale ma e' anche utile la pagina delle Altinity Stable Releases.


Titolo: ClickHouse RPMs
Livello: Medio (2/5)
Data: 14 Febbraio 2020 ❤️ San Valentino
Versione: 1.0.0 - 14 Febbraio 2020
© Autore: mail [AT] meo.bogliolo.name