GNU/Linux >> Linux Esercitazione >  >> Cent OS

Installa e configura Apache Cassandra 4.0 in Centos 8

Apache Cassandra è un sistema di gestione di database NoSQL gratuito e open source progettato per gestire grandi quantità di dati su molti server di base, fornendo un'elevata disponibilità senza un singolo punto di errore. Apache Cassandra è stato inizialmente sviluppato da Facebook e successivamente acquisito da Apache Foundation.

Apache Cassandra è adatto per quantità enormi e in crescita esponenziale di dati in continua trasformazione.

Cassandra rispetto a RDBMS

Cassandra ha strette analogie con i concetti nei database relazionali:

  • Keyspace – Simile a un database/schema in un RDBMS
  • Table – Simile alla tabella in RDBMS
  • Row – Simile a Riga in RDBMS
  • Column – Simile a Colonna in RDBMS
  • Primary key – Simile alla chiave primaria in RDBMS

Prerequisiti

Per seguire questa guida, hai bisogno di:

  • Server Centos 8
  • Accesso root al server o utente con accesso sudo
  • Accesso a Internet per scaricare i pacchetti

Di seguito sono riportati i passaggi che seguiremo per installare Cassandra

  1. Assicurati che il nostro sistema sia aggiornato
  2. Installa Java nel sistema
  3. Installa Apache Cassandra nel sistema
  4. Installa e configura il client Apache Cassandra (cqlsh)
  5. Configura Apache Cassandra

Passaggio 1 Assicurati che il nostro sistema sia aggiornato

Assicuriamoci che i pacchetti Centos 8 installati sul server siano aggiornati. Puoi farlo eseguendo i seguenti comandi:

sudo dnf -y update

Fase 2 Installa Java nel sistema

Apache Cassandra richiede che java 8 nel tuo sistema possa funzionare. Conferma che Java è installato digitando questo comando:

java -version

Se vedi questo output:

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

Quindi significa che java non è installato. Installiamolo con questo comando:

sudo dnf install -y java-1.8.0-openjdk

Una volta completata l'installazione, confermala con questo :

# 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)

Ora che Java 8 è installato nel nostro sistema, installa Cassandra.

Passaggio 3. Installa Apache Cassandra nel sistema

Apache Cassandra non è disponibile nei repository Centos 8 predefiniti. Creiamo un repository che punta a Cassandra Repos:

Crea questo /etc/yum.repos.d/cassandra.repo file con il contenuto richiesto utilizzando questo comando:

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

Ora che abbiamo aggiunto il repository, installiamo cassandra:

sudo dnf install -y cassandra

Conferma che Cassandra è stata installata utilizzando questo comando:

# 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.

Una volta installato il comando, il binario cassandra verrà creato in /usr/sbin/cassandra . Poiché Centos 8 gestisce i servizi utilizzando systemd, creiamo un file systemd in /etc/systemd/system/cassandra.service con i contenuti necessari alla gestione del servizio 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

Una volta creato il file, puoi utilizzare systemd per gestire il servizio:

Esegui questo comando per assicurarti che il nostro nuovo servizio systemd sia registrato:

sudo systemctl daemon-reload 

Per avviare il servizio:

sudo systemctl start cassandra

Conferma che il servizio è in esecuzione. Assicurati di vedere che è Active: active (running) nel seguente comando di stato:

# 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

Abilita il servizio cassandra per essere sempre eseguito all'avvio:

sudo systemctl enable cassandra

Usa lo nodetool status comando per confermare lo stato dello stato del nodo corrente:

# 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

Ora che il servizio è attivo e funzionante, installa il client:

Passaggio 4. Installa e configura il client Apache Cassandra (cqlsh)

Ora che il servizio Apache Cassandra è stato installato e configurato, dobbiamo connetterci ad esso.

Lo strumento client utilizzato per accedere a Cassandra (cqlsh ) è un client Python. Quindi prima di installarlo dobbiamo configurare l'ambiente per python:

Installa python3 e python pip

sudo dnf install -y python39 python39-pip

Conferma l'installazione e Python e pip:

# python3 -V
Python 3.9.2

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

Usando pip, installa cqlsh:

sudo pip3 install cqlsh

Ora possiamo usare cqlsh per connetterci a cassandra. Poiché Cassandra è installato localmente, non è necessario specificare alcun host:

# 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>

Ora che il client è configurato, configuriamo Cassandra

Passaggio 4. Configura Apache Cassandra

Consente di configurare Apache Cassandra. Il file di configurazione principale si trova qui /etc/cassandra/default.conf/cassandra.yaml

Configurazioni notevoli da modificare:

  • cluster_name – il nome del tuo cluster
  • seeds contiene l'elenco degli indirizzi IP del seme del tuo cluster, separati da virgole
  • listen_address contiene l'indirizzo IP del tuo nodo, questo è ciò che consente ad altri nodi di comunicare con questo nodo

Inoltre, puoi anche aggiungere la variabile env JVM_OPTS aggiungendo eventuali argomenti della riga di comando JVM aggiuntivi. Questo sarà passato al servizio cassandra all'avvio.

Per impostazione predefinita, il nome del cluster di Cassandra è "Test Cluster". Puoi cambiarlo con il tuo nome cluster preferito effettuando l'accesso utilizzando cqlsh ed eseguendo il comando seguente.

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

Dopodiché aggiorna il file di configurazione /etc/cassandra/default.conf/cassandra.yaml con il nuovo nome:

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

Quindi aggiorna questa riga:

cluster_name: 'Citizix Cluster'

Salva ed esci.

Svuotiamo la cache di sistema usando questo:

nodetool flush system

Quindi riavvia il servizio cassandra

sudo systemctl restart cassandra

Accedi di nuovo per confermare il nome del cluster come mostrato.

Conclusione

Siamo riusciti a installare e configurare cassanda nella guida sopra. Si prega di notare quanto segue:

  • Cassandra memorizza i propri log in questa directory /var/log/cassandra/ con il file di registro principale che si trova in /var/log/cassandra/system.log
  • Dato che abbiamo creato un servizio systemd, puoi anche controllare stdout e stderr logs usando questo comando:
    sudo journalctl -fu cassandra
  • Questo /var/lib/cassandra è impostato come directory dati predefinita. Puoi aggiornarlo nel file di configurazione
  • I file di configurazione di Cassandra sono archiviati in questa directory /etc/cassandra/ incluso il file di configurazione predefinito /etc/cassandra/default.conf/cassandra.yaml
  • Per gestire il servizio cassandra che abbiamo creato:
    # 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

Per ulteriori informazioni, controlla anche la pagina della documentazione di Cassandra qui.


Cent OS
  1. Come installare e configurare Nginx su CentOS 7

  2. Come installare Apache Cassandra su CentOS 8

  3. Come installare e configurare Redis su CentOS 7

  4. Come installare Apache Cassandra su CentOS 7

  5. Installa Apache e PHP su CentOS 7

Come installare e configurare GitLab CE su CentOS 8

Come installare e configurare Nagios 4.0.7 su CentOS 7

Come installare e configurare ISPConfig CP su CentOS 7

Come installare Apache Cassandra in CentOS

Installa Apache Cassandra in CentOS 8

Come installare Apache Cassandra su CentOS 6