GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer ClickHouse sur CentOS 7

Présentation

ClicHouse est un système de gestion de base de données open-source orienté colonne. C'est un logiciel rapide, évolutif et efficace à utiliser pour l'analyse des données mises à jour en temps réel.

Il utilise moins de mémoire et de processeur que les bases de données orientées lignes car il n'a pas à traiter de données inutiles. Par conséquent, il a un temps de réponse rapide aux requêtes, offrant finalement des performances optimales. De plus, il comprend SQL, ce qui le rend plus convivial.

ClickHouse est très flexible. Vous pouvez exécuter ce système de gestion sur n'importe quoi, des serveurs bare metal aux serveurs cloud, ainsi que sur n'importe quel système d'exploitation Linux, MacOS ou FreeBSD.

Ce guide vous montrera comment installer et démarrer avec ClickHouse sur votre serveur CentOS 7.

Prérequis

  • Accès à une fenêtre de terminal/ligne de commande
  • Un serveur exécutant CentOS 7 avec des privilèges sudo
  • Un éditeur de texte (tel que Nano)
  • Service SSH pour se connecter à votre serveur distant

Se connecter via SSH et mettre à jour

1. Avant de pouvoir installer ClickHouse, vous devez accéder à votre serveur CentOS distant.

Exécutez la commande suivante et remplacez your_username et host_ip_address avec vos spécifications respectives :

ssh [email protected]_ip_address

2. Une fois connecté au serveur, assurez-vous de mettre à jour le système en exécutant la commande :

sudo yum update

Installer ClickHouse sur CentOS

1. Tout d'abord, installez les dépendances logicielles, qui incluent le pygpgme package (pour ajouter et vérifier les signatures GPG) et yum-utils (pour la gestion des RPM sources) :

sudo yum install -y pygpgme yum-utilshere

2. Pour installer la dernière version de ClickHouse, vous devez accéder à un référentiel YUM géré par la société de conseil de ClickHouse, Altinity . Cependant, vous voulez également vous assurer que le package d'installation n'endommage pas votre serveur.

Commencez par créer le fichier de référentiel avec un éditeur de texte de votre choix (dans cet exemple, nous avons utilisé Nano) :

sudo nano /etc/yum.repos.d/altinity_clickhouse.repo

3. Ensuite, ajoutez le contenu suivant au fichier nouvellement créé :

[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

[altinity_clickhouse-source]
name=altinity_clickhouse-source
baseurl=https://packagecloud.io/altinity/clickhouse/el/7/SRPMS
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

4. Enregistrez et fermez le fichier de référentiel.

5. Ensuite, activez les référentiels avec la commande :

sudo yum -q makecache -y --disablerepo'*' --enablerepo='altinity_clickhouse'

6. Une fois que la sortie confirme que vous avez ajouté la clé GPG, vous pouvez passer à l'installation de ClickHouse. Téléchargez les packages clickhouse-server et clickhouse-client avec la commande suivante :

sudo yum install -y clickhouse-server clickhouse-client

7. Avec cela, vous avez installé ClickHouse sur votre serveur CentOS 7.

Comment démarrer le service ClickHouse

Le systemd service créé par le clickhouse-server package est responsable du démarrage, du redémarrage et de l'arrêt de la base de données.

Pour commencer le serveur ClickHouse utilise la commande :

sudo service clickhouse-server start here

Le terminal doit afficher la sortie suivante :


Vous pouvez également vérifier si le service fonctionne correctement avec :

sudo service clickhouse-server status

Le message que vous recevez devrait ressembler à l'image ci-dessous :

Comment créer des bases de données et des tables

Pour créer des bases de données et des tables, vous devez d'abord démarrer une session client. Une fois l'invite ouverte, vous pouvez l'utiliser pour exécuter des instructions SQL.

clickhouse-client --multiline

Alors que le clickhouse-client La commande ouvre une nouvelle session, le --multiline flag vous permet d'exécuter des requêtes qui occupent plusieurs lignes.

Créer une base de données

Une base de données est essentiellement un répertoire de tables. La syntaxe pour créer une base de données est :

CREATE DATABASE db_name

La sortie confirmera que la base de données a été créée en affichant le message "Ok. ", ainsi que le nombre de lignes dans l'ensemble et le temps il a fallu créer.

Pour créer une base de données sur tous les serveurs d'un cluster , ajoutez la clause [ON CLUSTER cluster_id] à la syntaxe de base :

CREATE DATABASE db_name [ON CLUSTER cluster_id]

Pour récupérer des données depuis un MySQL distant server à la base de données nouvellement créée ajoutez le [ENGINE = engine(…)] clause, comme dans la commande suivante :

CREATE DATABASE db_name [ENGINE = engine(…)]

Créer un tableau

La syntaxe pour créer une table est :

CREATE TABLE table_name
(
    column_name1 column_type [options],
    column_name2 column_type [options],
) ENGINE = engine

Le type de MOTEUR que vous choisissez dépend de l'application. ClickHouse a son moteur de base de données natif qui prend en charge les moteurs de table configurables et le dialecte SQL.
Généralement, les moteurs MergeTree Family sont les plus largement utilisés. Cependant, ClickHouse prend également en charge MySQL.

Lors de la création d'une table, vous devez d'abord ouvrir la base de données que vous souhaitez modifier. Utilisez la commande suivante :

ch:) USE db_name

La sortie confirmera que vous êtes dans la base de données spécifiée.

Ensuite, vous pouvez créer une table avec toutes les colonnes souhaitées (et les types de colonnes). Dans cet exemple, nous allons créer un Client tableau composé de six (6) colonnes en utilisant la commande :

ch:) CREATE TABLE Client (
ch:) ClientID UInt64,
ch:) FirstName String,
ch:) LastName String,
ch:) Address String,
ch:) City String,
ch:) BirthDate DateTime
ch:) ) ENGINE = MergeTree()
ch:) PRIMARY KEY ClientID
ch:) ORDER BY ClientID;

Un nom et une colonne type définir chaque colonne. Les types de colonnes dans l'exemple incluent :

  • UInt64 :pour stocker des nombres entiers allant de 0 à 18446744073709551615
  • Chaîne :pour stocker du texte pouvant contenir des caractères, des chiffres et des espaces
  • DateTime :pour stocker les dates et l'heure au format AAAA-MM-JJ HH:MM:SS

Dans ce cas, le MOTEUR de stockage est le moteur de table ClickHouse le plus robuste - MergeTree .

Ensuite, la PRIMERY KEY définit la colonne à utiliser pour identifier tous les enregistrements de la table.

Enfin, le ORDER PAR La clause vous permet de classer les résultats en fonction de la colonne définie.

Lors de la création, la sortie doit apparaître comme suit :

CREATE TABLE Client
(
ClientID UInt64,
FirstName String,
LastName String,
Address String,
City String,
BirthDate DateTime
)
ENGINE = MergeTree()
PRIMARY KEY ClientID
ORDER BY ClientID

Ok.

0 rows in set. Elapsed: 0.010 sec.

Insérer, mettre à jour et supprimer des données et des colonnes

Pour insérer des lignes dans une table, utilisez la syntaxe de requête suivante :

INSERT INTO table_name VALUES (column_1_value, column_2_value, ....);

Par exemple, si nous voulions insérer des lignes dans la table Client précédemment créée, nous exécuterions la commande suivante :

TO BE ADDED

Lors de l'ajout de nouvelles colonnes à une table, utilisez la syntaxe :

ALTER TABLE table_name ADD COLUMN column_name column_type;

Par exemple, si vous souhaitez ajouter une colonne Profession à la table Client, la commande serait :

ALTER TABLE Client ADD COLUMN Profession String;

Pour ajouter plusieurs colonnes en utilisant la syntaxe :

ALTER TABLE table_name ADD COLUMN column_1 column_type, column_2 column_type, column_3 column_type;

Les bases de données ClickHouse utilisent des requêtes SQL non standard pour la mise à jour et la suppression, qui incluent des opérations par lots asynchrones. Les commandes suivantes sont disponibles pour les versions 18.12.14 ou ultérieures.

La syntaxe pour la mise à jour est :

ALTER TABLE table_name UPDATE  column_1 = value_1, column_2 = value_2 ...  WHERE  filter_conditions;

La syntaxe pour supprimer des lignes est :

ALTER TABLE table_name DELETE WHERE  filter_conditions;

La syntaxe pour supprimer des colonnes est :

ALTER TABLE table_name DROP COLUMN column_name;

Suppression de tables et de bases de données

Pour supprimer ou déposer un tableau, utilisez la syntaxe suivante :

DROP TABLE table_name

Si nous voulions supprimer la table Clint, utilisez la commande :

DROP TABLE Client

La syntaxe pour supprimer complètement une base de données est :

DROP database db_name

Interroger ou récupérer des données

Utilisez la clause SELECT pour récupérer des données à partir de lignes et de colonnes. La syntaxe de base est :

SELECT func_1(column_1), func_2(column_2) FROM table_name WHERE filter_conditions row_options;

Si vous souhaitez récupérer des valeurs de sortie uniques qui résument les valeurs de plusieurs lignes et colonnes, vous pouvez utiliser des fonctions d'agrégation.

Voici quelques exemples de fonctions d'agrégation courantes prises en charge par ClickHouse :
• moy (moyenne) :calcule le volume moyen de la colonne sélectionnée ; utilisé uniquement pour les nombres
• compter :calcule le nombre de lignes correspondant aux critères spécifiés
somme (somme) :calcule la somme d'une colonne numérique ; utilisé uniquement pour les nombres
• unique :calcule le nombre approximatif de lignes correspondant aux critères ; utilisé pour les nombres, les chaînes et les dates


Ubuntu
  1. Comment installer le serveur Minecraft sur CentOS 7

  2. Comment installer Nginx sur CentOS 8

  3. Comment installer le serveur Teamspeak 3 sur CentOS 8

  4. Comment installer ProFTPD sur CentOS 7

  5. Comment installer ClickHouse sur CentOS 7

Comment installer Shoutcast Server sur CentOS 8

Comment installer Lighttpd sur CentOS

Comment installer VestaCP sur CentOS 6

Comment installer le serveur VNC sur CentOS 7

Comment installer le serveur Minecraft sur CentOS 6

Comment installer le serveur VNC sur CentOS 6