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 numerose aziende che dispongono di set di dati attivi di grandi dimensioni, tra cui Reddit, NetFlix, Instagram e Github.
Questo tutorial ti guida attraverso il processo di installazione di Apache Cassandra su Debian 9.
Prerequisiti #
Per poter installare i pacchetti sul tuo sistema Debian devi essere loggato come utente con privilegi sudo.
Installazione di Apache Cassandra #
Il metodo consigliato per installare Apache Cassandra su Debian 9 è installare il pacchetto deb 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 sulla macchina.
Per installare il pacchetto OpenJDK 8 eseguire il seguente comando:
sudo apt update
sudo apt install openjdk-8-jdk
Una volta completato, verificalo stampando la versione Java:
java -version
L'output dovrebbe essere simile a questo:
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-2~deb9u1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
Installa apt-transport-https
pacchetto necessario per accedere a un repository tramite HTTPS:
sudo apt install apt-transport-https
Il passaggio successivo è abilitare il repository Apache Cassandra.
Importa la chiave pubblica del repository utilizzando il seguente wget
comando:
wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -
Il comando sopra dovrebbe restituire OK
il che significa che la chiave è stata importata correttamente e i pacchetti da questo repository saranno considerati attendibili.
Aggiungi il repository Cassandra all'elenco delle fonti di sistema eseguendo il comando seguente:
sudo sh -c 'echo "deb http://www.apache.org/dist/cassandra/debian 311x main" > /etc/apt/sources.list.d/cassandra.list'
Aggiorna l'indice dei pacchetti e installa l'ultima versione di Apache Cassandra:
sudo apt update
sudo apt install cassandra
Al termine del processo di installazione, il servizio Cassandra verrà avviato automaticamente. Puoi verificare 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 114.55 KiB 256 100.0% d8c27e24-ea26-4eeb-883c-5986218ba3ca rack1
Questo è tutto. Apache Cassandra è stato installato sul tuo server Debian.
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 è in ascolto solo su localhost. Se anche il client che si connette al database è in esecuzione sulla stessa macchina non è necessario modificare l'interfaccia di binding.
Per interagire con Cassandra tramite la riga di comando, usa il cqlsh
strumento fornito con il pacchetto 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". Se desideri modificare il nome, procedi nel seguente modo:
-
Innanzitutto, accedi al terminale Cassandra CQL digitando:
cqlsh
ed eseguire il comando seguente per modificare il nome del cluster in "Linuxize Cluster":
UPDATE system.local SET cluster_name = 'Linuxize Cluster' WHERE KEY = 'local';
Cambia "Linuxize Cluster" con il nome desiderato. Una volta terminato, digita
exit
per uscire dal terminale. -
Quindi, modifica il
/etc/cassandra/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
-
Infine riavvia il servizio Cassandra eseguendo:
sudo systemctl restart cassandra