Impara i comandi per installare Apache Cassandra sul server Rocky Linux o AlmaLinux 8 utilizzando il terminale fornito in questo tutorial.
Apache Cassandra è il database NoSQL orientato alle colonne più popolare ed è scritto in Java, a differenza di MongoDB (C++) e HBase. Grazie alle sue proprietà architettoniche, Cassandra viene spesso utilizzata in progetti di big data, ma può anche essere utilizzata bene per applicazioni Web complesse in collaborazione con un server/framework di applicazioni.
Cassandra è un sistema di gestione di database distribuito progettato per gestire grandi quantità di dati strutturati e appartiene alla classe dei sistemi di database NoSQL,
Oltre ad essere utilizzato come database distribuito nei social network, il database viene utilizzato, ad esempio, anche dall'aggregatore di social news Reddit e dal fornitore di social bookmark Digg.
Passaggi per installare Apache Cassandra su Rocky Linux 8 | AlmaLinux 8
I passaggi indicati qui saranno gli stessi per altre distribuzioni Linux basate su RedHat come CentOS 8 e Oracle Linux...
1. Esegui l'aggiornamento DNF
Per prima cosa eseguiamo il comando di aggiornamento del sistema per assicurarci che i pacchetti installati sul sistema siano aggiornati e anche questo aggiornerà la cache del repository.
sudo dnf update
Abilita anche EPEL e PowerTools:
sudo dnf install yum-utils
sudo dnf install epel-release
sudo dnf config-manager --set-enabled powertools
2. Installa OpenJDK-Java predefinito
Poiché Apache Cassandra è stato scritto in Java, ne abbiamo bisogno; il Java Development Kit che offre anche un ambiente Runtime disponibile tramite il repository di base predefinito di Amalinux e Rocky utilizzando il gestore di pacchetti DNF come OpenJDK.
Le versioni di Java supportate da Cassandra durante la stesura di questo articolo erano:Java 8 o Java 11.
Quindi, installiamo prima lo stesso:
sudo dnf install java-11-openjdk
3. Aggiungi repository Cassandra Rocky | Almalinux 8
I pacchetti da installare non sono disponibili per l'installazione utilizzando la base predefinita di repository di Rocky Linux o AlmaLinux 8, quindi dobbiamo aggiungerlo manualmente. Il vantaggio dell'utilizzo di un repository per installare Cassandra è che possiamo facilmente ottenere aggiornamenti futuri per il database eseguendo il comando di aggiornamento del sistema. Puoi confermare l'ultima versione sul sito ufficiale .
sudo dnf install nano -y
Crea un file di repository:
sudo nano /etc/yum.repos.d/cassandra.repo
Nota :l'ultima versione principale durante la stesura dell'articolo era 4.0 e il nome della distribuzione corrispondente è 40x (con una "x" come suffisso). Per le versioni precedenti, utilizzare 311x per la serie C* 3.11, 30x per {30_version}, 22x per {22_version} e 21x per {21_version}. Ad esempio, per aggiungere il repository per la versione 4.0 (40x):
Copia e incolla le seguenti righe:
[cassandra] name=Apache Cassandra baseurl=https://downloads.apache.org/cassandra/redhat/40x/ gpgcheck=1 repo_gpgcheck=1 gpgkey=https://downloads.apache.org/cassandra/KEYS
Salva il file utilizzando Ctrl+O , premi Invio tasto, quindi esci con Ctrl+X .
Esegui il comando update per aggiornare la cache del repository.
sudo dnf update -y
4. Installa l'ultimo Apache Cassandra su Almalinux | Roccioso 8
Una volta aggiunto il repository, possiamo installare facilmente l'ultima versione di Apache Cassandra su Rocky Linux 8 o AlmaLinux 8 utilizzando il gestore di pacchetti DNF.
sudo dnf install cassandra -y
5. Avvia e abilita il servizio Cassandra
Bene, abbiamo già completato con successo l'installazione, ora è necessario avviare il servizio di questo database NoSQL e se vuoi che si avvii automaticamente con l'avvio del sistema o in caso di arresto anomalo, non dimenticare di abilitare il servizio.
sudo service cassandra start
sudo systemctl enable cassandra
Per verificare che il servizio sia abilitato correttamente, esegui:
sudo systemctl is-enabled cassandra.service
Per controllare lo stato attuale:
sudo systemctl status cassandra
6. Verifica che Cassandra sia in esecuzione
Per assicurarsi che il database sia in esecuzione e funzioni correttamente su 127.0.0.1:7199
, esegui il comando dato:
nodetool status
Otterrai l'output come indicato nello screenshot.
7. File di configurazione chiave
La directory in cui sono archiviati i dati di Apache Cassandra:/var/lib/cassandra
mentre i file di configurazione sono in /etc/cassandra
e avvio di Java le opzioni possono essere configurate in /etc/default/cassandra
file.
Per impostazione predefinita, il Database può ascoltare solo localhost, tuttavia, se si desidera utilizzare il client per connettere Cassandra in remoto, è necessario configurare lo stesso modificando:
sudo nano /etc/cassandra/default.conf/cassandra.yaml
8. Linguaggio di query Cassandra
Usa lo strumento da riga di comando chiamato cqlsh
viene fornito con il pacchetto Cassandra per interrogarlo utilizzando il terminale. Per usarlo il sistema deve avere almeno un pacchetto python 2 installato.
Se non hai Python sul tuo sistema, esegui:
sudo dnf install python2
Per ottenere la shell CQL, esegui:
cqlsh
9. Cambia il nome del cluster
Per aggiornare il nome del cluster, passa a CQL Shell utilizzando il comando sopra indicato, quindi esegui questo:
UPDATE system.local SET cluster_name = 'H2s Cluster' WHERE KEY = 'local';
Quindi esci dalla shell:
exit;
Dopodiché, modifica il file di configurazione YAML:
sudo nano /etc/cassandra/default.conf/cassandra.yaml
Sostituisci il cluster di test con il nome che hai impostato per il tuo Cluster.
Successivamente, svuota la cache e riavvia il servizio Cassandra:
nodetool flush system
sudo systemctl restart cassandra
Per confermare che il nome del cluster è stato aggiornato:
cqlsh
DESC CLUSTER
Per gestire Cassandra utilizzando la GUI, consulta questo progetto GitHub
10. Abilita autenticazione utente
Esegui il backup del file di configurazione corrente per assicurarti che, nel caso qualcosa vada storto, possiamo ripristinare il file originale.
sudo cp /etc/cassandra/conf/cassandra.yaml /etc/cassandra/conf/cassandra.yaml.backup
Modifica file yml:
sudo nano /etc/cassandra/conf/cassandra.yaml
Trova la seguente riga nel file e modificane i valori come indicato di seguito:
authenticator: org.apache.cassandra.auth.PasswordAuthenticator authorizer: org.apache.cassandra.auth.CassandraAuthorizer roles_validity_in_ms: 0 permissions_validity_in_ms: 0
Salva il file che hai finito con la modifica usando Ctrl+O , premi Invio Tasto, quindi CTRL+X .
Ad esempio, guarda lo screenshot :
Riavvia il servizio Cassandra:
sudo systemctl restart cassandra
11. Aggiungi utente amministratore per il tuo database
Cambia l'utente e la password predefiniti in quello che vuoi:
cqlsh -u cassandra -p cassandra
CREATE ROLE myusername WITH PASSWORD = 'mypassword' AND SUPERUSER = true AND LOGIN = true;
Nota :Sostituisci- mionomeutente e la mia password con quello che vuoi impostare.
Esci dal Command Shell di Cassandra:
exit;
Ora, accedi di nuovo utilizzando il tuo nuovo utente e password.
Disabilita i diritti SuperUser o Admin per l'utente Cassandra predefinito dopo l'accesso con l'utente appena creato:
ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
Concedi tutte le autorizzazioni al tuo utente:
GRANT ALL PERMISSIONS ON ALL KEYSPACES TO 'myusername';
exit;
Una volta creato l'utente Autenticazione e amministratore, è sempre necessario per accedere e utilizzare il comando Cassandra Shell. Senza l'autenticazione dell'utente, otterrai il seguente output:
Errore di connessione:('Impossibile connettersi a nessun server', {'127.0.0.1:9042':AuthenticationFailed('L'estremità remota richiede l'autenticazione',)})
12. Come aggiornare Cassandra su AlamLinux o Rocky Linux
Poiché abbiamo installato questo database NoSQL aggiungendo il suo repository, quindi l'esecuzione del comando di aggiornamento e aggiornamento del sistema recupererà e installerà anche l'ultimo aggiornamento della versione.
sudo dnf update && sudo dnf upgrade
13. Disinstalla o rimuovi
Questo è un passaggio facoltativo e utilizzalo quando desideri rimuovere Cassandra dal tuo sistema.
sudo dnf remove cassandra
Rimuovi repository
sudo rm /etc/yum.repos.d/cassandra.repo