Clickhouse : installation
Clickhouse : installation drupadminIl existe un dépôt pour Debian 11 géré directement par Clickhouse, l'installation sera donc simple.
Afin de ne pas risquer de "polluer" une machine existante j'ai décidé d'installer une machine virtuelle KVM munie d'un "gros" disque car j'avais dans l'idée d'y charger une grosse table, (justement mes archives de Ntopng) qui fait plus de 600 millions de rangs (6 ans d'archives).
La machine comportait au démarrage :
CPU : 4 VCPU
Disque : #400Go
RAM = 6 Go
Ajouter la clef GPG de clickhouse (en root) :
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
Ajouter un fichier "clickhouse.list" dans /etc/apt/sources.list.d contenant :
deb https://packages.clickhouse.com/deb stable main
Il suffira alors d'un "apt update" et tout sera prêt pour lancer l'installation :
apt install --force-overwrite clickhouse-client clickhouse clickhouse-common clickhouse-common-static clickhouse-server clickhouse-tools
Note : J'ai été obligé d'utiliser --forcce-overwrite à cause du paquet clickhouse-tools.
L'installation s'est bien passée et tout a fonctionné rapidement, le fichier "service" pour systemd est bien sûr disponible. Le serveur dispose de plusieurs ports dédiés à :
Port natif
Port Mysql like
Port Postgresql like
Il est ainsi possible d'utiliser une syntaxe connue telle de Mysql/MariaDB ou Postgresql.
Je me suis concentré sur la syntaxe Mysql que je connais mieux que celle de Postgres. J'ai donc pu créer rapidement un utilisateur dédié, les bases de données et les tables dont j'avais besoin.
On peut même créer une base "virtuelle" reliée directement à une base Mysql/MariaDB.
Mon seul problème a été la taille de RAM allouée à cette machine, les 6Go se sont vite avérés insuffisants, le chargement des données ne dépassait pas 100 millions de rangs ...
Après quelques tâtonnements j'ai vu qu'il ne fallait pas être avare avec la RAM pour obtenir un fonctionnement sans plantage. Lors des chargements de données des "Segmentation fault" et lors de l'exécution d'ordres SQL des plantages pour "(MEMORY_LIMIT_EXCEEDED)".
j'ai donc, par paliers, augmenté la RAM jusqu'à un fonctionnement impeccable obtenu dès 24Go que j'ai un peu poussé à 28Go pour pouvoir charger sans problèmes ma "grosse" table.
28 Go cela fait déjà une jolie VM heureusement que la machine "support" dispose de 64Go !