Comment installer le système de base de données ClickHouse OLAP Ubuntu 22.04
ClickHouse est un système de gestion de base de données orienté colonnes développé par ClickHouse, Inc. et écrit en C++. Il s'agit d'un système de gestion de base de données OLAP Open Source rapide, tolérant aux pannes, facile à utiliser et hautement fiable.
ClickHouse est un système de base de données OLDAP incroyablement rapide pour le traitement analytique en ligne. Il vous permet de générer des rapports analytiques à l'aide de requêtes SQL en temps réel.
Dans ce didacticiel, vous apprendrez comment installer le système de base de données ClickHouse OLAP sur un serveur Ubuntu 22.04. Vous apprendrez également comment configurer l'authentification sur ClickHouse et couvrirez son utilisation de base et ses requêtes.
Conditions préalables
Pour réaliser ce tutoriel, vous aurez plusieurs prérequis ci-dessous :
- Un serveur Ubuntu 22.04 - Cet exemple utilise un système Ubuntu avec le nom d'hôte « clickhouse-server » et l'adresse IP « 192.168.5.100 ».
- Un utilisateur non root avec les privilèges d'administrateur sudo/root.
Configuration du système
Avant de démarrer l'installation de ClickHouse, vous vous assurerez que le processeur actuel prend en charge le jeu d'instructions SSE 4.2 et désactiverez SWAP sur votre système.
Le package binaire officiel pré-construit pour ClickHouse est compilé sur l'architecture x86 (64 bits) et SSE 4.2. Ainsi, si vous ne disposez pas d'un processeur prenant en charge SSE 4.2, vous devez créer ClickHouse manuellement à partir de la source.
De plus, lors de l'utilisation de ClickHouse, il est recommandé de désactiver SWAP, en particulier dans l'environnement de production.
Exécutez la commande ci-dessous pour vérifier que votre processeur prend en charge la fonctionnalité SSE 4.2. Vous devriez recevoir le résultat « SSE 4.2 pris en charge » si votre processeur est pris en charge.
grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
Ensuite, exécutez la commande ci-dessous pour désactiver SWAP via le fichier de configuration '/etc/fstab'. Cette commande mettra '#' au début de la configuration SWAP et désactivera définitivement SWAP dans votre système.
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
Exécutez maintenant la commande ci-dessous pour désactiver SWAP sur la session en cours. Vérifiez ensuite l'état du SWAP.
sudo swapoff -a
sudo free -m
Vous trouverez ci-dessous le résultat que vous recevrez si le SWAP est désactivé : la taille du SWAP dans le champ « total » est de 0.
Avec le processeur prenant en charge SSE 4.2 et le WAP désactivé, vous êtes maintenant prêt à installer le système de base de données ClickHouse OLAP.
Installation du système de base de données OLAP Clickhouse
Le système de base de données ClickHouse OLDAP propose plusieurs méthodes d'installation. Pour les distributions Linux, ClcikHouse fournit des référentiels pour les distributions basées sur Debian et RPM. De plus, ClickHouse est disponible avec une installation via Docker ou à l'aide d'un seul package binaire.
Dans cette étape, vous installerez ClickHouse sur un système Ubuntu 22.04 via le référentiel officiel. Vous allez donc ajouter le référentiel ClickHouse à votre système, puis installer le package ClickHouse via APT.
Pour commencer, exécutez la commande apt ci-dessous pour installer quelques dépendances de base. Lorsque vous y êtes invité, saisissez y et appuyez sur ENTRÉE.
sudo apt install apt-transport-https ca-certificates dirmngr
Exécutez maintenant la commande ci-dessous pour ajouter la clé GPG et le référentiel ClickHouse à votre système. Dans cet exemple, vous installerez ClickHouse depuis la branche stable du référentiel.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \
/etc/apt/sources.list.d/clickhouse.list
Ensuite, mettez à jour et actualisez l'index de votre package via la commande apt ci-dessous.
sudo apt update
Vous recevrez que le référentiel ClickHouse est ajouté.
Installez maintenant le 'clickhouse-server' comme système de base de données et le package 'clickhouse-client' via la commande apt ci-dessous.
sudo apt install clickhouse-server clickhouse-client
Saisissez Y lorsque vous êtes invité à confirmer et appuyez sur ENTRÉE pour continuer.
De plus, lors de l'installation de CLickHouse, vous serez invité à définir un mot de passe pour l'utilisateur par défaut de ClickHouse. Saisissez un nouveau mot de passe pour ClickHouse et vous recevrez le résultat comme la capture d'écran suivante une fois l'installation terminée.
Une fois ClickHouse installé, exécutez l'utilitaire de commande systemctl ci-dessous pour démarrer et activer le service ClickHouse. Cette commande démarrera ClickHouse et permettra au service de s'exécuter automatiquement au démarrage.
sudo systemctl start clickhouse-server
sudo systemctl enable clickhouse-server
Vérifiez le service ClicHouse avec la commande ci-dessous pour vous assurer que le service ClickHouse est en cours d'exécution.
sudo systemctl status clickhouse-server
Vous recevrez le résultat comme suit : L'état actuel du service ClickHpouse est en cours d'exécution, il est activé et sera exécuté automatiquement au démarrage.
Vous avez terminé l'installation du serveur ClickHouse. Dans l'étape suivante, vous apprendrez comment accéder au serveur ClickHouse via l'application client et configurer l'authentification par mot de passe pour l'utilisateur administrateur ClickHouse.
Accéder à ClickHouse via la ligne de commande
Une fois le serveur ClickHouse installé, vous pouvez accéder à ClickHouse via le « clickhouse-client » que vous avez également installé.
Le « client clickhouse » est une interface de ligne de commande permettant d'interagir et de gérer le serveur ClickHouse. Il est similaire au client 'mysql' pour le serveur MySQL/MariaDB, 'psql' pour le serveur PostgreSQL ou 'mongod' pour le Serveur MongoDB.
Pour accéder au serveur ClickHouse, vous pouvez utiliser la commande 'clickhouse-client' ci-dessous.
sudo clickhouse-client --password
Lorsque vous êtes invité à saisir le mot de passe, saisissez le mot de passe que vous avez créé lors de l'installation.
Après vous être connecté, vous devriez voir le shell ClickHouse comme suit.
De là, vous pouvez voir que vous êtes connecté au serveur ClickHouse v22.11 avec l'utilisateur ClickHouse par défaut. Le serveur ClickHouse s'exécute par défaut sur localhost avec le port 9000.
À ce stade, vous avez installé le serveur et le client ClickHouse et appris à vous connecter au serveur ClickHouse via la commande « clickhouse-client ». À l'étape suivante, vous configurerez un utilisateur administrateur pour le serveur ClickHouse.
Configuration de l'utilisateur administrateur sur Clickhouse
Dans cette étape, vous créerez un utilisateur administrateur pour le serveur ClickHouse. Mais avant cela, vous activerez la « Gestion de compte » pour l'utilisateur « par défaut » via la configuration ClickHouse.
Pour commencer, ouvrez la configuration '/etc/clickhouse-server/users.d/default_password.xml' à l'aide de la commande de l'éditeur nano ci-dessous.
sudo nano /etc/clickhouse-server/users.d/default_password.xml
Ajoutez la ligne suivante entre la section '
<clickhouse>
<users>
<default>
...
<access_management>1</access_management>
</default>
</users>
</clickhouse>
Enregistrez le fichier et quittez l'éditeur lorsque vous avez terminé.
Exécutez maintenant l'utilitaire de commande systemctl ci-dessous pour redémarrer le service ClickHouse et appliquer les modifications.
sudo systemctl restart clickhouse-server
Maintenant que la « access_management » est activée pour l'utilisateur « par défaut », vous allez ensuite créer un nouvel utilisateur administrateur pour ClickHouse. Le nouvel utilisateur pourra accéder à toutes les bases de données avec tous les privilèges sur le serveur ClickHouse.
Exécutez la commande 'clickhouse-client' ci-dessous pour vous connecter au serveur ClickHouse via l'utilisateur 'default'.
sudo clickhouse-client --user default --password
Lorsque vous êtes invité à saisir le mot de passe, saisissez le mot de passe que vous avez configuré. Vous obtiendrez maintenant la console du serveur ClickHouse et vous connecterez en tant qu'utilisateur « par défaut » avec « access_management » activé.
Ensuite, exécutez la requête suivante pour créer un nouvel utilisateur ClickHouse. Et assurez-vous de modifier le nom d'utilisateur, le mot de passe et l'adresse IP de l'hôte. Cet exemple créera un nouvel utilisateur « halsey » avec le mot de passe « password » et haché avec SHA256. L'option 'HOST IP' vous permet de préciser l'adresse IP qui sera utilisée pour se connecter au serveur ClickHouse. Dans cet exemple, autorisé uniquement depuis localhost ou '127.0.0.1'.
CREATE USER halsey HOST IP '127.0.0.1' IDENTIFIED WITH sha256_password BY 'password';
Exécutez maintenant la requête ci-dessous pour accorder tous les privilèges sur le serveur ClickHouse à l'utilisateur 'halsey'.
GRANT ALL ON *.* TO halsey WITH GRANT OPTION;
Ensuite, vérifiez la liste des utilisateurs sur le serveur ClickHouse via la requête suivante. Vous devriez voir que le nouvel utilisateur « halsey » est ajouté à ClickHouse.
SHOW USERS;
Tapez maintenant « quitter » sur le client de la console ClickHouse pour quitter.
Une fois le nouvel utilisateur administrateur de base de données créé, vous devrez alors désactiver le « access_management » pour l'utilisateur « par défaut » sur votre serveur ClickHouse.
Ouvrez la configuration '/etc/clickhouse-server/users.d/default_password.xml' à l'aide de la commande de l'éditeur nano ci-dessous.
sudo nano /etc/clickhouse-server/users.d/default_password.xml
Remplacez l'option « access_management » par « 0 » pour désactiver la « Gestion des accès » pour « par défaut ». utilisateur.
<clickhouse>
<users>
<default>
...
<access_management>0</access_management>
</default>
</users>
</clickhouse>
Enregistrez le fichier et quittez l'éditeur lorsque vous avez terminé.
Redémarrez le service ClickHouse pour appliquer les modifications via l'utilitaire de commande systemctl ci-dessous.
sudo systemctl restart clickhouse-server
Enfin, exécutez la commande suivante pour vous connecter au serveur ClickHouse en tant qu'utilisateur « halsey ». Lorsque vous êtes invité à saisir le mot de passe, saisissez votre mot de passe et appuyez sur ENTRÉE pour vous connecter.
sudo clickhouse-client --user halsey --password
Après vous être connecté, vous recevrez le résultat comme la capture d'écran suivante. Le nouvel utilisateur administrateur de ClickHouse « halsey » est ajouté et la connexion est réussie.
Une fois le nouvel utilisateur administrateur du serveur ClickHouse créé, vous apprendrez ensuite à utiliser ClickHouse pour créer des bases de données et des tables, ainsi qu'à insérer et récupérer des données via la requête SQL ClickHouse.
Requêtes de base sur le système de base de données ClickHouse
Dans cette étape, vous apprendrez la requête de base du système de base de données ClickHouse, qui est similaire aux requêtes SQL courantes. Vous apprendrez comment créer une base de données et une table, insérer et récupérer des données de la base de données, puis l'utilisation de base de la requête « ALTER » que vous pouvez utiliser pour modifier les données existantes sur le serveur ClickHouse.
Tout d’abord, exécutez la requête suivante pour créer une nouvelle base de données. Dans cet exemple, vous allez créer une nouvelle base de données « testdb ».
CREATE DATABASE testdb;
Basculez vers 'testdb' via la requête suivante 'USE dbname'.
USE testdb;
Maintenant, créez une nouvelle table, « utilisateurs », avec la requête suivante. Le tableau 'utilisateurs' aura quelques champs ci-dessous :
- id avec le type 'UInt64' pour stocker des valeurs entières.
- nom avec le type "String" pour stocker la chaîne - longueur du caractère.
- last_login avec le type « DateTime » pour les données au format date/heure de chaîne.
- Le moteur ici est « MergeTree », principalement utilisé sur ClickHouse.
CREATE TABLE users (id UInt64, name String, jobs String, last_login DateTime) ENGINE=MergeTree() PRIMARY KEY id ORDER BY id;
Ensuite, exécutez la requête suivante pour insérer de nouvelles données dans la table « utilisateurs ». Dans la requête ci-dessous, vous allez insérer trois données différentes dans la table « users ».
INSERT INTO users VALUES (1, 'alice', 'DevOps', '2022-10-10 00:10:10');
INSERT INTO users VALUES (2, 'alex', 'Manager', '2022-09-05 01:19:10');
INSERT INTO users VALUES (3, 'janet', 'Developer', '2022-05-05 04:29:10');
Insérez les premières données.
Insérez les deuxièmes données.
Insérez des données tierces.
Exécutez la requête suivante pour récupérer les données de la table « utilisateurs ». Vous devriez voir trois nouveaux champs de données que vous venez d'ajouter.
SELECT * FROM users;
Vous avez appris à créer la base de données, à basculer vers la base de données, à créer la table, à insérer des données et à récupérer des données sur le système de base de données ClickHouse OLAP. Ensuite, vous apprendrez à modifier les données avec la requête « ALTER ».
Exécutez la requête « ALTER TABLE » suivante pour mettre à jour les données existantes sur la table « utilisateurs ». Dans cet exemple, vous allez remplacer le champ « jobs » pour l'utilisateur « alex » par « administrateur ».
ALTER TABLE users UPDATE jobs = 'Administrator' WHERE name = 'alex';
Vérifiez les données nouvellement mises à jour sur la table « utilisateurs » via la requête suivante. Vous devriez maintenant mettre à jour les nouvelles données de l'utilisateur « alex » vers « Administrateur ».
SELECT * FROM users;
Maintenant que vous avez appris l'utilisation de base de la requête ClickHouse pour créer et changer de base de données, créer des tables, insérer des données et récupérer des données. Et également, vous avez appris à utiliser la requête « ALTER » pour modifier les données existantes dans la base de données ClickHouse. Vous allez ensuite nettoyer votre installation ClickHouse.
Environnement de nettoyage
Avec la nouvelle base de données et la nouvelle table créées et les données aléatoires insérées, dans cette dernière étape, vous nettoyerez l'installation du système de base de données ClickHouse en supprimant la base de données et la table que vous venez de créer.
Exécutez la requête suivante, « DROP TABLE », pour supprimer la table des utilisateurs de la base de données testdb.
DROP TABLE users;
Supprimez maintenant la base de données 'testdb' via la requête 'DROP DATABASE' ci-dessous.
DROP DATABASE testdb;
Enfin, vérifiez la liste des bases de données sur le serveur ClickHouse via la requête suivante. Vous devriez voir que la base de données 'testdb' est supprimée du serveur ClickHouse.
SHOW DATABASES;
Maintenant, votre installation ClickHouse est nettoyée avec l'utilisateur administrateur également configuré.
Conclusion
Toutes nos félicitations! Vous avez terminé l'installation du système de base de données ClickHouse OLAP et appris à configurer un utilisateur administrateur sur CLickHouse. Et enfin, vous avez également appris la requête de base pour créer une base de données et une table, insérer et récupérer des données, modifier des données existantes et nettoyer la base de données et la table.