GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Apache Cassandra dans CentOS

1. Présentation

Cassandre est un système de gestion de base de données distribué open source avec un large magasin de colonnes et une base de données NoSQL qui peut gérer des quantités massives de données sur de nombreux serveurs de base sans point de défaillance unique. Il a été créé par Apache Software Foundation et est écrit en Java. Dans cet article, nous allons passer en revue le processus étape par étape pour installer Cassandra dans CentOS 7 Linux.

2. Pré-requis

Toutes les commandes indiquées ci-dessous doivent être exécutées en tant que root ou sudo utilisateur.

2.1. Installez Python 2.7

Sur CentOS 7, Python 2.7 est préinstallé. S'il est manquant pour une raison quelconque, vous pouvez utiliser la commande suivante pour l'installer :

# yum -y install python
# python --version
Python 2.7.5

2.2. Installer Java

Utilisez les commandes ci-dessous pour installer la dernière version de Java 8 et vérifier l'installation.

# yum install java-1.8.0-openjdk-devel
# java -version

Exemple de résultat :

openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

3. Comment installer Cassandre

Tout d'abord, ajoutons le référentiel Cassandra. Pour ce faire, créez un fichier nommé cassandra.repo sous /etc/yum.repos.d/ répertoire :

# vi /etc/yum.repos.d/cassandra.repo

Ajoutez-y les lignes suivantes :

[cassandra]
name=Apache Cassandra
baseurl=https://www.apache.org/dist/cassandra/redhat/40x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.apache.org/dist/cassandra/KEYS

Appuyez sur ESC clé et tapez :wq pour enregistrer le fichier et le fermer.

Vérifiez si le référentiel Cassandra est ajouté. La commande ci-dessous garantira les référentiels installés et activés :

# yum repolist

Après avoir ajouté le référentiel, exécutez la commande suivante pour installer Cassandra dans votre système CentOS :

# yum -y install cassandra

Activer et démarrer le service Cassandra :

# systemctl enable cassandra
cassandra.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig cassandra on
# systemctl start Cassandra

Assurez-vous du statut de Cassandra :

# systemctl status cassandra

Utilisez la commande ci-dessous pour obtenir les détails du cluster, comme sa condition, sa charge et ses identifiants :

# nodetool status

Exemple de résultat :

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens  Owns (effective)  Host ID                               Rack
UN  127.0.0.1  69.08 KiB  16      100.0%            bf2df7a9-54bc-41c9-8c6c-0b9322d10e71  rack1

Dans la sortie,

  • ONU - Haut &Normal
  • Adresse - Adresse IP du nœud
  • Charger - Après avoir exclu tout le contenu du sous-répertoire snapshots, la quantité de données du système de fichiers sous le répertoire de données Cassandra. Toutes les 90 secondes une fois Il sera mis à jour.
  • Jetons - Le nombre de jetons qui ont été attribués au nœud.
  • Propriétaire - Combien de données le nœud possède ; un nœud peut posséder 33 % de l'anneau mais afficher 100 % si le facteur de réplication est de 3.
  • ID d'hôte - ID réseau de l'hôte
  • Rack - Rack du Node là où il existe.

4. Cqlsh – CLI pour Cassandra

cqlsh est une interface de ligne de commande permettant d'utiliser CQL pour se connecter à Cassandra (Cassandra Query Language). Il est inclus dans chaque package Cassandra et peut être trouvé à côté de l'exécutable cassandra dans le bin/ annuaire. Le pilote de protocole natif Python est utilisé pour implémenter cqlsh, qui se connecte à un seul nœud.

Pour lancer Cqlsh, exécutez :

# cqlsh

Exemple de résultat :

Connected to Test Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cqlsh>

5. Exemples de commandes CQL

5.1. Créer un espace clé

Dans Cassandra, un espace de clés sert de conteneur de données, similaire à une base de données dans les systèmes de gestion de bases de données relationnelles (RDMBS)

cqlsh> CREATE KEYSPACE IF NOT EXISTS OsTechNix WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3 };
cqlsh>

Vérifiez les espaces clés dans le système à l'aide des commandes ci-dessous.

cqlsh> SELECT * FROM system_schema.keyspaces;

Pour afficher tous les espaces de clés, exécutez :

cqlsh> desc keyspaces;

Tous les espaces de clés du cluster seront listés :

ostechnix  system_auth         system_schema  system_views
system     system_distributed  system_traces  system_virtual_schema

5.2. Créer un tableau et insérer des exemples de données

Vous pouvez utiliser le CREATE TABLE déclaration définissant les types de données pour chaque colonne comme nous le faisons habituellement dans RDBMS. Les données sont stockées dans des tables CQL avec des rangées de colonnes, un peu comme les définitions SQL.

Vous devez définir la 'clé primaire' et d'autres champs de données pour créer une table. Suivez l'exemple ci-dessous pour la création de table.

cqlsh> CREATE TABLE ostechnix.sample_table ( id UUID PRIMARY KEY, name text, birthday timestamp, nationality text, weight text, height text );
cqlsh>

Utilisez le INSERT instruction pour insérer des données simples dans la table ostechnix.sample_table que nous créons ci-dessus. Dans cet exemple ci-dessous, deux enregistrements sont ajoutés dans la table.

cqlsh> INSERT INTO ostechnix.sample_table (id, name, nationality) VALUES (5b6962dd-3f90-4c93-8f61-eabfa4a803e2, 'KARTHICK', 'Indian');
cqlsh> INSERT INTO ostechnix.sample_table (id, name, nationality, weight) VALUES (5b6962dd-3f90-4c93-8f61-eabfa4a804e3, 'MOHAN', 'Indian', '85');

5.3. Interroger la table

Utilisez l'instruction SELECT pour renvoyer une ou plusieurs lignes d'une table.

cqlsh> SELECT * FROM ostechnix.sample_table;

Ici, * renvoie toutes les données de la table.

cqlsh> SELECT * FROM ostechnix.sample_table WHERE weight = '85';

Exemple de résultat :

InvalidRequest: Error from server: code=2200 [Invalid query] message="Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING"
cqlsh>

Cassandra n'exécutera pas une requête qui ne spécifie pas de valeurs pour toutes les colonnes de la clé primaire dans le 'where ' et émettra l'alerte d'erreur ci-dessus pour utiliser 'ALLOW FILTERING' .

La raison de cette erreur est que Cassandra ne pourra pas identifier le nœud contenant les résultats requis si la clé de partition complète n'est pas incluse dans WHERE clause. Par conséquent, Cassandra devra analyser l'intégralité de l'ensemble de données sur chaque nœud pour garantir qu'elle a identifié les données pertinentes.

cqlsh> SELECT * FROM ostechnix.sample_table WHERE weight = '85' ALLOW FILTERING;

6. Résumé

Dans cet article, nous avons parcouru les procédures d'installation de Cassandra et quelques exemples de commandes CQL. Nous aurons une plongée profonde dans l'opération Cassandra dans les prochains articles.


Cent OS
  1. Comment installer Apache Cassandra sur CentOS 8

  2. Comment installer Apache sur CentOS 7

  3. Comment installer Apache Cassandra sur CentOS 7

  4. Comment installer la base de données Apache Cassandra NoSQL sur CentOS 8

  5. Comment installer Apache Kafka sur CentOS 8

Comment installer Apache ServiceMix sur CentOS 7

Comment installer elgg sur CentOS 8

Comment installer Apache ServiceMix sur CentOS 8

Installer Apache Cassandra dans CentOS 8

Comment installer Apache SVN sur CentOS 7

Comment installer Apache Cassandra sur CentOS 6