Apache Cassandra è un sistema di gestione di database gratuito, open source e distribuito. È in grado di gestire grandi quantità di dati su molti server e fornisce un'elevata disponibilità senza un singolo punto di errore. È utilizzato da molte aziende tra cui Github, NetFlix, Reddit e Instagram. Cassandra funziona con l'architettura peer to peer, con ogni nodo connesso a tutti gli altri nodi. Ogni nodo Cassandra esegue tutte le operazioni del database e può soddisfare le richieste dei client senza la necessità di un nodo master.
In questo post, ti mostreremo come installare il sistema di gestione del database Apache Cassandra su Debian 11.
Prerequisiti
- Un server che esegue Debian 11.
- Sul server è configurata una password di root.
Installa Java
Prima di iniziare, dovrai installare Java sul tuo server. Puoi installarlo eseguendo il seguente comando:
apt-get install openjdk-11-jre -y
Dopo aver installato Java, verifica l'installazione di Java utilizzando il comando seguente:
java -version
Dovresti ottenere il seguente output:
openjdk version "11.0.12" 2021-07-20 OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2) OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2, mixed mode, sharing)
Installa Cassandra
Per impostazione predefinita, il pacchetto Cassandra non è incluso nel repository predefinito di Debian 11. Quindi dovrai aggiungere il repository Cassandra ad APT.
Innanzitutto, installa le dipendenze richieste utilizzando il comando seguente:
apt-get install curl gnupg2 -y
Quindi, aggiungi la chiave GPG e il repository Cassandra con il seguente comando:
curl https://downloads.apache.org/cassandra/KEYS | apt-key add -
echo "deb https://downloads.apache.org/cassandra/debian 40x main" | tee -a /etc/apt/sources.list.d/cassandra.list
Una volta aggiunto il repository, aggiorna il repository e installa il pacchetto Cassandra con il seguente comando:
apt-get update -y
apt-get install cassandra -y
Una volta installata Cassandra, è possibile verificare lo stato di Cassandra utilizzando il seguente comando:
systemctl status cassandra
Dovresti ottenere il seguente output:
? cassandra.service - LSB: distributed storage system for structured data Loaded: loaded (/etc/init.d/cassandra; generated) Active: active (running) since Sat 2021-09-25 17:23:08 UTC; 23s ago Docs: man:systemd-sysv-generator(8) Process: 24537 ExecStart=/etc/init.d/cassandra start (code=exited, status=0/SUCCESS) Tasks: 53 (limit: 9510) Memory: 2.2G CPU: 23.439s CGroup: /system.slice/cassandra.service ??24666 /usr/bin/java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:+AlwaysPreTouc> Sep 25 17:23:08 debian11 systemd[1]: Starting LSB: distributed storage system for structured data... Sep 25 17:23:08 debian11 systemd[1]: Started LSB: distributed storage system for structured data.
Verifica cluster Apache Cassandra
Attendi qualche istante per eseguire l'upgrade del cluster Cassandra, quindi esegui il comando seguente per verificare lo stato del cluster:
nodetool status
Dovresti vedere il seguente output:
Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 127.0.0.1 69.09 KiB 16 100.0% 2813344d-5006-4360-a57e-61deeea9fe70 rack1
Successivamente, connettiti al cluster Cassandra utilizzando il comando seguente:
cqlsh
Dovresti ottenere il seguente output:
Connected to Test Cluster at 127.0.0.1:9042 [cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5] Use HELP for help. cqlsh>
Configura Cassandra
Se desideri modificare il nome del cluster Cassandra, esegui il comando seguente:
cqlsh> UPDATE system.local SET cluster_name = 'New Cluster' WHERE KEY = 'local';
Quindi, esci dalla shell cqlsh con il seguente comando:
cqlsh> exit
Quindi, modifica il file di configurazione principale di Cassandra:
nano /etc/cassandra/cassandra.yaml
Modifica il nome del cluster Cassandra come mostrato di seguito:
cluster_name: 'New Cluster'
Salva e chiudi il file, quindi riavvia il servizio Cassandra per applicare le modifiche:
systemctl restart cassandra
Successivamente, verifica il nome del cluster utilizzando il comando seguente:
cqlsh
Dovresti vedere il nuovo nome del cluster nel seguente output:
Connected to New Cluster at 127.0.0.1:9042 [cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5] Use HELP for help.
Conclusione
Congratulazioni! hai installato con successo Apache Cassandra su Debian 11. Ora puoi iniziare a usare Apache Cassandra secondo le tue esigenze.