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

Installer et configurer Apache Cassandra 4.0 dans Centos 8

Apache Cassandra est un système de gestion de base de données NoSQL gratuit et open source conçu pour gérer de grandes quantités de données sur de nombreux serveurs de base, offrant une haute disponibilité sans point de défaillance unique. Apache Cassandra a été initialement développé par Facebook, puis acquis par la Fondation Apache.

Apache Cassandra est adapté aux quantités massives et à croissance exponentielle de données en constante transformation.

Cassandra par rapport au SGBDR

Cassandra a des analogies étroites avec les concepts des bases de données relationnelles :

  • Keyspace – Semblable à une base de données/schéma dans un SGBDR
  • Table – Similaire au tableau dans RDBMS
  • Row – Similaire à Row dans RDBMS
  • Column – Similaire à Colonne dans RDBMS
  • Primary key – Semblable à la clé primaire dans RDBMS

Prérequis

Pour suivre ce guide, vous avez besoin :

  • Serveur Centos 8
  • Accès root au serveur ou utilisateur avec accès sudo
  • Accès Internet pour télécharger les packages

Voici les étapes que nous suivrons pour installer Cassandra

  1. Assurez-vous que notre système est à jour
  2. Installer Java dans le système
  3. Installer Apache Cassandra dans le système
  4. Installer et configurer le client Apache Cassandra (cqlsh)
  5. Configurer Apache Cassandra

Étape 1 Assurez-vous que notre système est à jour

Assurons-nous que les packages Centos 8 installés sur le serveur sont à jour. Vous pouvez le faire en exécutant les commandes suivantes :

sudo dnf -y update

Étape 2 Installez Java dans le système

Apache Cassandra nécessite que vous ayez Java 8 dans votre système pour qu'il fonctionne. Confirmez que Java est installé en tapant cette commande :

java -version

Si vous voyez cette sortie :

# java -version
-bash: java: command not found

Ensuite, cela signifie que Java n'est pas installé. Installons-le avec cette commande :

sudo dnf install -y java-1.8.0-openjdk

Une fois l'installation terminée, confirmez-la par ceci :

# java -version
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)

Maintenant que Java 8 est installé sur notre système, installons Cassandra.

Étape 3. Installez Apache Cassandra dans le système

Apache Cassandra n'est pas disponible dans les référentiels Centos 8 par défaut. Créons un référentiel pointant vers Cassandra Repos :

Créez ce /etc/yum.repos.d/cassandra.repo fichier avec le contenu requis en utilisant cette commande :

cat > /etc/yum.repos.d/cassandra.repo <<EOF
[cassandra]
name=Apache Cassandra
baseurl=https://downloads.apache.org/cassandra/redhat/40x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF

Maintenant que nous avons ajouté le dépôt, installons Cassandra :

sudo dnf install -y cassandra

Confirmez que Cassandra a été installé à l'aide de cette commande :

# rpm -qi cassandra
Name        : cassandra
Version     : 4.0.0
Release     : 1
Architecture: noarch
Install Date: Tue 31 Aug 2021 08:59:00 AM UTC
Group       : Development/Libraries
Size        : 54941890
License     : Apache Software License 2.0
Signature   : RSA/SHA512, Thu 22 Jul 2021 10:22:35 PM UTC, Key ID 5e85b9ae0b84c041
Source RPM  : cassandra-4.0.0-1.src.rpm
Build Date  : Thu 22 Jul 2021 10:22:10 PM UTC
Build Host  : 0b542adba94d
Relocations : (not relocatable)
URL         : http://cassandra.apache.org/
Summary     : Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store.
Description :
Cassandra is a distributed (peer-to-peer) system for the management and storage of structured data.

Une fois cette commande installée, le binaire cassandra sera créé dans /usr/sbin/cassandra . Étant donné que Centos 8 gère les services à l'aide de systemd, créons un fichier systemd dans /etc/systemd/system/cassandra.service avec le contenu nécessaire pour gérer le service cassandra

sudo cat > /etc/systemd/system/cassandra.service <<EOF
[Unit]
Description=Apache Cassandra 4.0
After=network.target

[Service]
Type=simple
PIDFile=/var/run/cassandra/cassandra.pid
User=cassandra
Group=cassandra

ExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra/cassandra.pid
Restart=always

[Install]
WantedBy=multi-user.target
EOF

Une fois le fichier créé, vous pouvez utiliser systemd pour gérer le service :

Exécutez cette commande pour vous assurer que notre nouveau service systemd est enregistré :

sudo systemctl daemon-reload 

Pour démarrer le service :

sudo systemctl start cassandra

Confirmez que le service est en cours d'exécution. Veuillez vous assurer que son Active: active (running) dans la commande d'état suivante :

# sudo systemctl status cassandra
● cassandra.service - Apache Cassandra
   Loaded: loaded (/etc/systemd/system/cassandra.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-08-31 15:50:07 UTC; 8s ago
 Main PID: 100752 (java)
    Tasks: 54 (limit: 23800)
   Memory: 1.1G
   CGroup: /system.slice/cassandra.service
           └─100752 java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:+AlwaysPreTouch -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+UseNUMA -XX:+PerfD>

Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,284 NativeTransportService.java:68 - Netty using native Epoll event loop
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [CompactionExecutor:1] 2021-08-31 15:50:13,326 CompactionTask.java:150 - Compacting (20ffe200-0a73-11ec-a273-f980f7c7aa0a) [/var/lib/cassandra>
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,329 PipelineConfigurator.java:124 - Using Netty Version: [netty-buffer=netty-buffer-4.1.58.Final.10b03e6, netty-cod>
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,329 PipelineConfigurator.java:125 - Starting listening for CQL clients on localhost/127.0.0.1:9042 (unencrypted)...
Aug 31 15:50:13 ipa-server.citizix.light cassandra[100752]: INFO  [main] 2021-08-31 15:50:13,334 CassandraDaemon.java:780 - Startup complete

Activez le service Cassandra pour qu'il s'exécute toujours au démarrage :

sudo systemctl enable cassandra

Utilisez le nodetool status commande pour confirmer l'état du nœud actuel :

# nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load        Tokens  Owns (effective)  Host ID                               Rack
UN  127.0.0.1  166.07 KiB  16      100.0%            2b8341f0-2638-46bb-a0e0-e20b86f96d0a  rack1

Maintenant que le service est opérationnel, installons le client :

Étape 4. Installer et configurer le client Apache Cassandra (cqlsh)

Maintenant que le service Apache Cassandra a été installé et configuré, nous devons nous y connecter.

L'outil client utilisé pour accéder à Cassandra (cqlsh ) est un client Python. Donc, avant de l'installer, nous devons configurer l'environnement pour Python :

Installer python3 et python pip

sudo dnf install -y python39 python39-pip

Confirmez l'installation et Python et pip :

# python3 -V
Python 3.9.2

# pip3 -V
pip 20.2.4 from /usr/lib/python3.9/site-packages/pip (python 3.9)

À l'aide de pip, installez cqlsh :

sudo pip3 install cqlsh

Nous pouvons maintenant utiliser cqlsh pour nous connecter à cassandra. Comme Cassandra est installé localement, nous n'avons pas besoin de spécifier d'hôte :

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

Maintenant que le client est configuré, configurons Cassandra

Étape 4. Configurer Apache Cassandra

Permet de configurer Apache Cassandra. Le fichier de configuration principal se trouve ici /etc/cassandra/default.conf/cassandra.yaml

Configurations notables à modifier :

  • cluster_name – le nom de votre cluster
  • seeds contient la liste des adresses IP de votre graine de cluster, séparées par des virgules
  • listen_address contient l'adresse IP de votre nœud, c'est ce qui permet aux autres nœuds de communiquer avec ce nœud

En plus de cela, vous pouvez également ajouter la variable env JVM_OPTS en ajoutant tout argument de ligne de commande JVM supplémentaire. Ceci sera transmis au service Cassandra lors du démarrage.

Par défaut, le nom du cluster de Cassandra est "Test Cluster". Vous pouvez le remplacer par le nom de votre cluster préféré en vous connectant à l'aide de cqlsh et exécutez la commande ci-dessous.

UPDATE system.local 
SET cluster_name = 'Citizix Cluster' 
WHERE KEY = 'local';

Après cela, mettez à jour le fichier de configuration /etc/cassandra/default.conf/cassandra.yaml avec le nouveau nom :

sudo vim /etc/cassandra/default.conf/cassandra.yaml

Mettez ensuite à jour cette ligne :

cluster_name: 'Citizix Cluster'

Enregistrez et quittez.

Effacons le cache système en utilisant ceci :

nodetool flush system

Redémarrez ensuite le service cassandra

sudo systemctl restart cassandra

Connectez-vous à nouveau pour confirmer le nom du cluster comme indiqué.

Conclusion

Nous avons réussi à installer et à configurer Cassanda dans le guide ci-dessus. Veuillez noter ce qui suit :

  • Cassandra stocke son journal dans ce répertoire /var/log/cassandra/ avec le fichier journal principal situé dans /var/log/cassandra/system.log
  • Depuis que nous avons créé un service systemd, vous pouvez également vérifier stdout et stderr journaux à l'aide de cette commande :
    sudo journalctl -fu cassandra
  • Ceci /var/lib/cassandra est défini comme répertoire de données par défaut. Vous pouvez le mettre à jour dans le fichier de configuration
  • Les fichiers de configuration de Cassandra sont stockés dans ce répertoire /etc/cassandra/ y compris le fichier de configuration par défaut /etc/cassandra/default.conf/cassandra.yaml
  • Pour gérer le service cassandra que nous avons créé :
    # Start the service
    sudo systemctl start cassandra
    # Check the service status
    sudo systemctl status cassandra
    # Stop the service
    sudo systemctl stop cassandra
    # Enable the service
    sudo systemctl enable cassandra
    # Restart the service
    sudo systemctl restart cassandra

Veuillez également consulter la page de documentation de Cassandra ici pour plus d'informations.


Cent OS
  1. Comment installer et configurer Nginx sur CentOS 7

  2. Comment installer Apache Cassandra sur CentOS 8

  3. Comment installer et configurer Redis sur CentOS 7

  4. Comment installer Apache Cassandra sur CentOS 7

  5. Installer Apache et PHP sur CentOS 7

Comment installer et configurer GitLab CE sur CentOS 8

Comment installer et configurer Nagios 4.0.7 sur CentOS 7

Comment installer et configurer ISPConfig CP sur CentOS 7

Comment installer Apache Cassandra dans CentOS

Installer Apache Cassandra dans CentOS 8

Comment installer Apache Cassandra sur CentOS 6