Apache Cassandra è un database distribuito altamente scalabile e ad alte prestazioni progettato per gestire grandi quantità di dati su molti server di base, fornendo elevata disponibilità senza singoli punti di errore. È rinomato per il suo solido supporto per cluster che si estendono su più data center, con replica asincrona masterless che consente bassa latenza e semplicità operativa. Cassandra è ideale per le applicazioni che richiedono un elevato throughput di scrittura, tolleranza agli errori e scalabilità lineare.
La seguente guida mostrerà i passaggi per installare Apache Cassandra su Rocky Linux 9 o 8 utilizzando i comandi della riga di comando. Questo processo prevede l'impostazione del repository appropriato e la configurazione del sistema per garantire prestazioni e affidabilità ottimali per l'ambiente di database distribuito.
Aggiorna il sistema Rocky Linux prima dell'installazione di Apache Cassandra
Innanzitutto, prima di installare Apache Cassandra, è una buona idea assicurarsi che tutti i pacchetti di sistema siano aggiornati per evitare potenziali problemi durante l'installazione del database NoSQL.
Nel tuo terminale, esegui il comando seguente e aggiorna tutti i pacchetti in sospeso.
sudo dnf upgrade --refresh
Importa il repository Apache Cassandra
Il primo passaggio prevede l'importazione del repository per Apache Cassandra. Fortunatamente, puoi farlo con un solo comando. Il tutorial mostrerà come importare i rami 5.0, 4.0 o 4.1. Poiché il ramo 3.xx è prossimo alla fine, il tutorial non includerà le istruzioni per aggiungerli.
Importazione RPM Apache Cassandra 4.0
sudo tee /etc/yum.repos.d/cassandra-4.0.repo<<EOF
[cassandra]
name=Apache Cassandra 4.0
baseurl=https://redhat.cassandra.apache.org/41x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF
4.1 Importazione RPM di Apache Cassandra
sudo tee /etc/yum.repos.d/cassandra-4.1.repo<<EOF
[cassandra]
name=Apache Cassandra 4.1
baseurl=https://redhat.cassandra.apache.org/41x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF
Importazione RPM Apache Cassandra 5.0
sudo tee /etc/yum.repos.d/cassandra-5.0.alpha.repo<<EOF
[cassandra]
name=Apache Cassandra 5.0
baseurl=https://redhat.cassandra.apache.org/50x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF
Installa Apache Cassandra tramite il comando DNF
Puoi installare Cassandra con il seguente comando; il repository è stato importato.
sudo dnf install cassandra -y
Conferma la versione installata eseguendo il comando seguente.
cassandra -v
Nota se viene visualizzato il seguente errore durante l'importazione delle chiavi GPG.
Key import failed (code 2). Failing package is: cassandra-4.1~alpha1-1.noarch
GPG Keys are configured as: https://www.apache.org/dist/cassandra/KEYS
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Modifica le politiche crittografiche e imposta la politica su LEGACY.
sudo update-crypto-policies --set LEGACY
A volte potrebbe essere necessario riavviare il sistema affinché la modifica avvenga correttamente. Ho scoperto che non era necessario, ma è consigliato.
reboot
Crea il servizio Apache Cassandra Systemd
Al termine dell'installazione, è necessario creare il servizio systemd. Ancora una volta, questo è un compito semplice; copia e incolla il seguente comando per creare il file.
sudo tee /etc/systemd/system/cassandra.service<<EOF
[Unit]
Description=Apache Cassandra
After=network.target
[Service]
Type=simple
PIDFile=/var/run/cassandra/cassandra.pid
User=cassandra
Group=cassandra
ExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra/cassandra.pid
Restart=always
[Install]
WantedBy=multi-user.target
EOF
È necessario ricaricare il demone per iniziare a utilizzare il servizio Cassandra e non è possibile saltare questo passaggio.
sudo systemctl daemon-reload
Ora avvia il servizio Cassandra.
sudo systemctl start cassandra
Successivamente, controlla lo stato systemctl di Cassandra per assicurarti che non ci siano errori.
systemctl status cassandra
Facoltativamente, puoi abilitare il servizio Cassandra all'avvio automatico quando avvii il tuo computer o server utilizzando il seguente comando.
sudo systemctl enable cassandra
Installa Apache Cassandra Client (cqlsh) su Rocky Linux
Installa Python
Prima di installare il client Cassandra, assicurati che Python sia disponibile sul tuo sistema. Il cliente di Apache Cassandra, cqlsh
, è basato su Python, rendendo Python un prerequisito. Installa Python su Rocky Linux eseguendo:
sudo dnf install python3 -y
Installa PIP
Successivamente, installa PIP, il gestore pacchetti Python, per la gestione dei pacchetti Python. PIP è essenziale per l'installazione del driver Cassandra Python. Se PIP non è già installato sul tuo sistema, aggiungilo eseguendo:
sudo dnf install python3-pip -y
Installa il driver Cassandra Python
Il driver Cassandra Python è necessario per cqlsh
per connettersi al database Cassandra. Questo driver consente la comunicazione tra il client e il database. Installare il driver utilizzando PIP con il comando:
pip install cassandra-driver
Installazione di cqlsh
Una volta soddisfatti i prerequisiti, sei pronto per l'installazione cqlsh
. Questa interfaccia della riga di comando consente l'interazione con Apache Cassandra, consentendoti di eseguire query e gestire il tuo database. Installare cqlsh
eseguendo:
pip install cqlsh
Infine, connettiti con cqlsh utilizzando il seguente comando.
cqlsh
Esempio di output della connessione riuscita:
[cqlsh 6.1.0 | Cassandra 4.1-alpha1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cqlsh>
Configura Apache Cassandra
L'impostazione e la personalizzazione di Cassandra richiedono modifiche ai file di configurazione e l'utilizzo di alcune utilità della riga di comando.
Impostazione della configurazione di base
I principali file di configurazione per Cassandra si trovano in /etc/cassandra
. Nel frattempo, i registri e le directory dei dati si trovano generalmente in /var/log/cassandra
E /var/lib/cassandra
rispettivamente.
Per le regolazioni a livello JVM, come la dimensione dell'heap, dovresti guardare verso /etc/cassandra/conf/cassandra-env.sh
file. All'interno di questo file è possibile aggiungere argomenti supplementari della riga di comando JVM al file JVM_OPTS
variabile che Cassandra legge all'avvio.
Abilitazione dell'autenticazione utente con Apache Cassandra
Prima di attivare l'autenticazione dell'utente, è consigliabile creare un backup del file /etc/cassandra/conf/cassandra.yaml
file:
sudo cp /etc/cassandra/conf/cassandra.yaml /etc/cassandra/conf/cassandra.yaml.backup
Successivamente, aprire il cassandra.yaml
file:
sudo nano /etc/cassandra/conf/cassandra.yaml
All'interno del file, dovresti cercare e modificare questi parametri:
authenticator: org.apache.cassandra.auth.PasswordAuthenticator
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
roles_validity_in_ms: 0
permissions_validity_in_ms: 0
Modifica altre impostazioni in base alle tue esigenze e, se appaiono commentate, assicurati di rimuoverle dai commenti. Completa il processo di modifica salvando il file.
Successivamente, riavvia Cassandra per applicare le modifiche:
sudo systemctl restart cassandra
Aggiunta di un superutente amministrativo per Apache Cassandra
Con l'autenticazione ora attivata, è essenziale configurare un utente. Utilizzando l'utilità della shell Cassandra Command, accedi utilizzando le credenziali utente predefinite:
cqlsh -u cassandra -p cassandra
Avvia un nuovo superutente sostituendo [username]
E [yourpassword]
con le tue specifiche:
CREATE ROLE [username] WITH PASSWORD = '[yourpassword]' AND SUPERUSER = true AND LOGIN = true;
Successivamente, esci e accedi nuovamente con i tuoi nuovi dettagli di superutente:
cqlsh -u username -p yourpassword
Riduci le autorizzazioni elevate dell'account Cassandra predefinito:
ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;
E concedi autorizzazioni complete al tuo superutente:
GRANT ALL PERMISSIONS ON ALL KEYSPACES TO '[username]';
Concludi questa sezione effettuando il logout.
Personalizzazione della configurazione della console
La Cassandra Shell può essere adattata alle vostre esigenze. Legge la sua configurazione dal file cqlshrc
file trovato in ~/.cassandra
directory. Un file di esempio che fornisce informazioni dettagliate sulle possibili impostazioni si trova all'indirizzo /etc/cassandra/conf/cqlshrc.sample
.
Inizia copiando questo file di esempio:
sudo cp /etc/cassandra/conf/cqlshrc.sample ~/.cassandra/cqlshrc
Aggiusta il cqlshrc
permessi del file:
sudo chmod 600 ~/.cassandra/cqlshrc
sudo chown $USER:$USER ~/.cassandra/cqlshrc
Aprilo per la modifica:
nano ~/.cassandra/cqlshrc
Per automatizzare l'accesso con credenziali di superutente, individuare e modificare la seguente sezione:
[authentication]
username = [superuser]
password = [password]
Ricordati di salvare dopo aver completato le modifiche. Ora, quando accedi alla shell Cassandra, rifletterà le tue modifiche:
cqlsh
Rinominare il cluster
Potresti voler rinominare il cluster per rendere il sistema più identificabile. Avviare accedendo a cqlsh
terminale:
cqlsh
Sostituire [new_name]
con il nome del cluster desiderato:
UPDATE system.local SET cluster_name = '[new_name]' WHERE KEY = 'local';
Esci dal terminale e apri /etc/cassandra/conf/cassandra.yaml
per ulteriori modifiche:
sudo nano /etc/cassandra/conf/cassandra.yaml
Individuare il cluster_name
variabile e sostituisci il suo valore con il nome scelto. Salva le modifiche.
Infine, svuota la cache di sistema di Cassandra:
nodetool flush system
Riavvia Cassandra:
sudo systemctl restart cassandra
Quando accedi alla shell, verrà visualizzato il nome del cluster scelto.
Verifica delle modifiche alla configurazione
Dopo aver apportato modifiche alla configurazione, è sempre buona norma assicurarsi che abbiano avuto effetto e verificare lo stato generale del cluster Cassandra.
Verifica del nome del cluster: pubblica il processo di ridenominazione quando accedi nuovamente a cqlsh
conchiglia:
cqlsh
Il prompt ora dovrebbe visualizzare il nome del cluster appena impostato.
Conclusione
In questa guida abbiamo esaminato i passaggi per installare Apache Cassandra su Rocky Linux, coprendo entrambe le versioni 9 e 8. Queste istruzioni forniscono una soluzione di database solida e scalabile per le esigenze dei big data. Controlla regolarmente gli aggiornamenti per mantenere Cassandra performante e sicura. Esercitati a utilizzare Cassandra per padroneggiare appieno le sue funzionalità. Immergiti, sperimenta e scopri come può trasformare la tua gestione dei dati.