Apache Cassandra è un database NoSQL open source senza un singolo punto di errore, che offre scalabilità lineare e disponibilità elevata senza compromettere le prestazioni. In Cassandra, i record sono strutturati in modo simile al database relazionale con tabelle, righe e colonne. Apache Cassandra è utilizzato da numerose organizzazioni tra cui Apple, NetFlix, eBay ed Easou.
Questo tutorial descrive come installare Apache Cassandra su CentOS 7.
Prerequisiti #
L'utente con cui hai effettuato l'accesso deve disporre dei privilegi sudo per poter installare i pacchetti.
Installazione di Apache Cassandra #
Il modo consigliato per installare Apache Cassandra su CentOS 7 è installare il pacchetto rpm dal repository ufficiale di Apache Cassandra.
Al momento della stesura di questo articolo, l'ultima versione di Apache Cassandra è 3.11
e richiede l'installazione di OpenJDK 8 sul sistema.
Per installare OpenJDK, sul tuo sistema digita:
sudo yum install java-1.8.0-openjdk-devel
Verifica l'installazione di Java eseguendo il comando seguente che stamperà la versione di Java:
java -version
L'output dovrebbe essere simile a questo:
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)
Ora che Java è installato, il passaggio successivo consiste nell'aggiungere il repository Apache Cassandra.
Apri il tuo editor preferito 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
Una volta abilitato il repository, installa l'ultima versione di Apache Cassandra digitando:
sudo yum install cassandra
Avvia e abilita il servizio Cassandra:
sudo systemctl enable cassandra
sudo systemctl start 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 103.68 KiB 256 100.0% 129a9437-377d-415b-b6b2-5dc46b73a763 rack1
A questo punto, Apache Cassandra è stato installato 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
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.4 | 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". Segui i passaggi seguenti se desideri modificare il nome del cluster:
-
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. -
Modifica il
/etc/cassandra/default.conf/cassandra.yamlcassandra.yaml
file di configurazione e inserisci il nuovo nome del cluster.cluster_name: 'Linuxize Cluster'
-
Esegui il comando seguente per svuotare la cache di sistema:
nodetool flush system
-
Finalmente riavvia il servizio Cassandra:
sudo systemctl restart cassandra