Introduzione

Apache Cassandra è un database NoSQL gratuito e open source altamente stabile. Fornisce scalabilità lineare e alta disponibilità senza compromettere le prestazioni. Apache Cassandra è utilizzato da molte aziende che dispongono di set di dati di grandi dimensioni e attivi, tra cui Reddit, NetFlix, Instagram e Github.

Questo articolo spiega come installare Apache Cassandra su CentOS 8.

Se desideri installare Apache Cassandra su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digita il seguente comando:

ssh [email protected]_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzi l'utente root puoi connetterti con un'altro nome utente utilizzando lo stesso comando, quindi modifica root con il tuo nome_utente:

ssh [email protected]_DEL_SERVER

Successivamente ti verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il tuo server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Installare Apache Cassandra

Il modo più semplice per installare Apache Cassandra su CentOS 8 è installando il pacchetto rpm dal repository ufficiale di Apache Cassandra.

L'ultima versione di Apache Cassandra è 3.11 e richiede che OpenJDK 8 sia installato sul sistema.

Eseguire il comando seguente come root o utente con privilegi sudo per installare OpenJDK :

sudo dnf install java-1.8.0-openjdk-devel

Una volta completato, verificare l'installazione stampando la versione Java:

java -version

L'output dovrebbe assomigliare 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 passo successivo è aggiungere il repository Apache Cassandra.

Installa l'editor di testo nano, altrimenti puoi utilizzare vi/vim per modificare i file:

sudo yum install nano

Apri il tuo editor di testo e crea il seguente file repository:

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

Incolla il seguente contenuto nel file:

[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
/etc/yum.repos.d/cassandra.repo

Salvare il file e installare l'ultima versione di Apache Cassandra digitando:

sudo dnf install cassandra

Quando richiesto, digitare y per importare le chiavi GPG, dovrai impartare diverse chiavi.

Una volta completata l'installazione, abilitare e avviare il servizio Cassandra:

sudo systemctl enable cassandra
sudo systemctl start cassandra

Verifica che Cassandra sia in esecuzione digitando, potesti dover aspettare qualche secondo prima di ottenere un output positivo:

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  70.03 KiB  256          100.0%            10481d73-8c54-430a-b4dd-ffad85466ff6  rack1

Questo è tutto. A questo punto, hai Apache Cassandra installato sul tuo server CentOS 8.

Configurare Apache Cassandra

I dati Apache Cassandra sono archiviati nella directory /var/lib/cassandra, i file di configurazione si trovano in /etc/cassandra e le opzioni di avvio di Java possono essere configurate nel file /etc/default/cassandra.

Per impostazione predefinita, Cassandra è configurato per l'ascolto solo su localhost. Se anche il client che si collega 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), è possibile utilizzare un'utilità della riga di comando denominata cqlsh fornita con il pacchetto Cassandra.

cqlsh richiede che Python 2 si trovi nel PATH 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 impostato python, esegui cqlsh per accedere alla shell CQL:

cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.7 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>

Rinominare Apache Cassandra Cluster

Per impostazione predefinita, il cluster Cassandra è denominato "Test Cluster". Se si desidera modificare il nome del cluster, attenersi alla seguente procedura:

Accedi al terminale Cassandra CQL con cqlsh:

cqlsh

Il seguente comando cambierà il nome del cluster in "Noviello Cluster":

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

Sostituisci "Noviello Cluster" con il nome desiderato. Al termine, digitare exit per uscire dalla console:

exit

Apri il file cassandra.yaml di configurazione, cerca "cluster_name" e inserisci il nome del tuo nuovo cluster:

sudo nano /etc/cassandra/default.conf/cassandra.yaml
cluster_name: 'Noviello Cluster'
...
/etc/cassandra/default.conf/cassandra.yaml

Cancella la cache di sistema:

nodetool flush system

Infine riavviare il servizio Cassandra:

sudo systemctl restart cassandra

Conclusione

Ti abbiamo mostrato come installare Apache Cassandra su CentOS 8. Ora puoi visitare la pagina ufficiale della documentazione di Apache Cassandra e imparare ad iniziare Apache Cassandra.