Apache Cassandra è un sistema di gestione di database NoSQL distribuito gratuito e open source. Viene utilizzato per archiviare dati di grandi dimensioni in cluster decentralizzati ad alta disponibilità. I dati vengono distribuiti su molti server fornendo alta disponibilità e nessun singolo punto di errore. I server di database NoSQL archiviano i dati in metodi diversi dai tradizionali metodi tabulari utilizzati dai software RDBMS come MySQL, PostgreSQL.
In questo tutorial installeremo Apache Cassandra sul server CentOS 7.
Passaggio 1:installa JAVA
Prima di installare qualsiasi pacchetto si consiglia di aggiornare i pacchetti e il repository utilizzando il comando seguente.
yum -y update
Una volta aggiornato il sistema, installeremo l'ultima versione di Oracle Java nel server. Esegui il comando seguente per scaricare il pacchetto RPM.
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
Se non hai installato wget, puoi eseguire yum -y install wget per installare wget. Ora installa l'RPM scaricato usando il seguente comando.
yum -y localinstall jdk-8u131-linux-x64.rpm
Ora puoi controllare la versione Java usando il seguente comando.
java -version
Otterrai il seguente output.
[[email protected] ~]# java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
Dovrai anche verificare se la variabile di ambiente JAVA_HOME è impostata. Esegui il seguente comando per lo stesso.
echo $JAVA_HOME
Se ottieni un output nullo o vuoto, dovrai impostare manualmente la variabile JAVA_HOME. Modifica il file .bash_profile usando il tuo editor preferito. In questo tutorial useremo nano editor. Esegui il comando seguente per modificare .bash_profile usando nano.
nano ~/.bash_profile
Ora aggiungi le seguenti righe alla fine del file.
export JAVA_HOME=/usr/java/jdk1.8.0_131/ export JRE_HOME=/usr/java/jdk1.8.0_131/jre
Ora crea il file usando il seguente comando.
source ~/.bash_profile
Ora puoi eseguire nuovamente il comando echo $JAVA_HOME per verificare se la variabile di ambiente è impostata o meno.
[[email protected] ~]# echo $JAVA_HOME /usr/java/jdk1.8.0_131/
Passaggio 2 - Installazione di Cassandra
Ora aggiungi il repository Apache Cassandra al tuo elenco di repository creando un nuovo file di repository.
nano /etc/yum.repos.d/cassandra.repo
Ora aggiungi il seguente contenuto nel file.
[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
Ora puoi installare Apache Cassandra eseguendo il comando seguente.
yum -y install cassandra
Ricarica i tuoi demoni di sistema eseguendo:
systemctl daemon-reload
Ora puoi avviare Cassandra digitando;
systemctl start cassandra
Per consentire a Cassandra di avviarsi automaticamente all'avvio, esegui:
systemctl enable cassandra
Puoi verificare che Cassandra sia in esecuzione digitando il seguente comando.
nodetool status
Dovresti vedere un output simile se Cassandra è in esecuzione.
[[email protected] ~]# nodetool status Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 127.0.0.1 136.29 KiB 256 100.0% b3d26649-9e10-4bee-9b3c-8e81c4394b2e rack1
Invece dell'output mostrato sopra, se ottieni qualcosa di simile all'output di seguito, dovrai configurare il file di configurazione dell'ambiente cassandra.
nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'.
Apri il file di configurazione usando il seguente comando.
nano /etc/cassandra/default.conf/cassandra-env.sh
Ora trova la seguente riga nella configurazione.
# JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>"
Decommenta la riga e cambia il suo valore da
La configurazione dovrebbe apparire come quella mostrata di seguito.
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=127.0.0.1"
Salva il file ed esci dall'editor, riavvia Apache Cassandra eseguendo il comando seguente.
systemctl restart cassandra
Dovresti avere l'output desiderato durante l'esecuzione del comando nodetool.
Cassandra viene fornito con una potente shell della riga di comando cqlsh per eseguire query su Cluster. La query è scritta in linguaggio CQL o Cassandra Query. Per accedere alla shell CQL, esegui il comando seguente.
cqlsh
Vedrai il seguente output.
[[email protected] ~]# cqlsh Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.11.0 | CQL spec 3.4.4 | Native protocol v4] Use HELP for help.
Conclusione
Apache Cassandra è ora installato sul tuo server. Puoi saperne di più su Cassandra visitando il sito web di Cassandra.