
Apache Cassandra è un database NoSQL gratuito e open source senza un singolo punto di errore. Fornisce scalabilità lineare e alta disponibilità senza compromettere le prestazioni. Apache Cassandra è utilizzato da molte aziende che dispongono di set di dati attivi di grandi dimensioni, tra cui Reddit, NetFlix, Instagram e Github.
Questo articolo spiega come installare Apache Cassandra su CentOS 8.
Installazione di Apache Cassandra #
Il modo più semplice per installare Apache Cassandra su CentOS 8 è installare il pacchetto rpm dal repository ufficiale di Apache Cassandra.
L'ultima versione di Apache Cassandra è 3.11
e richiede l'installazione di OpenJDK 8 sul sistema.
Esegui il seguente comando come root o utente con privilegi sudo per installare OpenJDK:
sudo dnf install java-1.8.0-openjdk-devel
Una volta completata, verifica l'installazione stampando la versione Java:
java -version
L'output dovrebbe essere simile a questo:
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
Ora che Java è installato, il passaggio successivo consiste nell'aggiungere il repository Apache Cassandra.
Apri il tuo editor di testo e crea il seguente file di repository:
sudo nano /etc/yum.repos.d/cassandra.repo
Incolla il seguente contenuto nel file:
/etc/yum.repos.d/cassandra.repo[cassandra]
name=Apache Cassandra
baseurl=https://www.apache.org/dist/cassandra/redhat/311x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.apache.org/dist/cassandra/KEYS
Salva il file e installa l'ultima versione di Apache Cassandra digitando:
sudo dnf install cassandra
Quando richiesto, digita y
per importare le chiavi GPG.
Una volta completata l'installazione, avvia e abilita il servizio Cassandra:
sudo systemctl start cassandra
sudo systemctl enable cassandra
Verifica che Cassandra sia in esecuzione digitando:
nodetool status
Dovresti vedere qualcosa di simile a questo:
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 127.0.0.1 69.99 KiB 256 100.0% ce0389a3-b48c-4cc9-b594-abe23e677d33 rack1
Questo è tutto. A questo punto, hai installato Apache Cassandra sul tuo server CentOS.
Configurazione di Apache Cassandra #
I dati di Apache Cassandra sono archiviati in /var/lib/cassandra
directory, i file di configurazione si trovano in /etc/cassandra
e le opzioni di avvio di Java possono essere configurate in /etc/default/cassandra
file.
Per impostazione predefinita, Cassandra è configurata per l'ascolto solo su localhost. Se anche il client che si connette al database è in esecuzione sullo stesso host, non è necessario modificare il file di configurazione predefinito.
Per interagire con Cassandra tramite CQL (il Linguaggio di query Cassandra), puoi utilizzare un'utilità della riga di comando denominata cqlsh
che viene spedito con il pacco Cassandra.
cqlsh
richiede che Python 2 sia nel PERCORSO del sistema. Se non hai Python 2 installato sul server, puoi farlo con i seguenti comandi:
sudo dnf install python2
sudo alternatives --set python /usr/bin/python2
Una volta configurato Python, esegui cqlsh
per accedere alla shell CQL:
cqlsh
[cqlsh 5.0.1 | Cassandra 3.11.7 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>
Rinominare il cluster Apache Cassandra #
Per impostazione predefinita, il cluster Cassandra è denominato "Test Cluster". Se desideri modificare il nome del cluster, procedi nel seguente modo:
-
Accedi al terminale Cassandra CQL con
cqlsh
:cqlsh
Il comando seguente cambierà il nome del cluster in "Linuxize Cluster":
UPDATE system.local SET cluster_name = 'Linuxize Cluster' WHERE KEY = 'local';
Sostituisci "Linuxize Cluster" con il nome desiderato. Una volta terminato, digita
exit
per uscire dalla console. -
Apri il
cassandra.yaml
file di configurazione, cerca "cluster_name" e inserisci il tuo nuovo nome cluster:
/etc/cassandra/default.conf/cassandra.yamlsudo nano /etc/cassandra/default.conf/cassandra.yaml
cluster_name: 'Linuxize Cluster'
-
Svuota la cache di sistema:
nodetool flush system
-
Finalmente riavvia il servizio Cassandra:
sudo systemctl restart cassandra