Apache Cassandra è un sistema di gestione di database NoSQL open source con ampia colonna, progettato per gestire grandi quantità di dati. Cassandra può essere distribuito su molti server per ottenere un'elevata disponibilità senza un singolo punto di errore. In genere, viene utilizzato come archivio dati operativo in tempo reale per applicazioni transazionali online e come database ad alta intensità di lettura per sistemi su larga scala. Attualmente è utilizzato da molte organizzazioni tra cui Netflix, Digg, Adobe, Twitter, HP, IBM, Rackspace, Cisco e Reddit.
In questa guida spiegheremo come installare Apache Cassandra su Oracle Linux 8.
Prerequisiti
- Un server che esegue Oracle Linux 8 sulla piattaforma Atlantic.Net Cloud
- Una password di root configurata sul tuo server
Fase 1:crea un server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Oracle Linux come sistema operativo con almeno 4GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Una volta effettuato l'accesso al server, eseguire il comando seguente per aggiornare il sistema di base con gli ultimi pacchetti disponibili.
dnf update -y
Fase 2 – Installa Java 8
dnf install epel-release python2 python2-pip java-1.8.0-openjdk -y
Dopo l'installazione, verificare l'installazione di Java con il seguente comando:
java -version
Otterrai la versione Java nel seguente output:
openjdk version "1.8.0_332" OpenJDK Runtime Environment (build 1.8.0_332-b09) OpenJDK 64-Bit Server VM (build 25.332-b09, mixed mode)
Quindi, installa l'utilità della riga di comando cqlsh per connetterti a Cassandra tramite la riga di comando.
pip2 install cqlsh
Fase 3 – Installa Apache Cassandra
nano /etc/yum.repos.d/cassandra.repo
Aggiungi le seguenti righe:
[cassandra] name=Apache Cassandra baseurl=https://www.apache.org/dist/cassandra/redhat/40x/ gpgcheck=1 repo_gpgcheck=1 gpgkey=https://www.apache.org/dist/cassandra/KEYS
Salva e chiudi il file quando hai finito, quindi installa Apache Cassandra con il seguente comando:
dnf install cassandra -y
Fase 4:crea un file di servizio per Cassandra
Si consiglia di creare un file di servizio per gestire il servizio Apache Cassandra tramite systemd. Puoi crearlo con il seguente comando:
nano /etc/systemd/system/cassandra.service
Aggiungi le seguenti righe:
[Unit] Description=Apache Cassandra After=network.target [Service] 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
Salva e chiudi il file, quindi ricarica il demone systemd per applicare le modifiche:
systemctl daemon-reload
Successivamente, avvia e abilita il servizio Cassandra con il seguente comando:
systemctl start cassandra systemctl enable cassandra
Per verificare lo stato di Apache Cassandra, eseguire il comando seguente:
systemctl status cassandra
Dovresti vedere il seguente output:
● cassandra.service - Apache Cassandra Loaded: loaded (/etc/systemd/system/cassandra.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-04-30 07:54:46 EDT; 15s ago Main PID: 2170 (java) Tasks: 23 (limit: 23694) Memory: 1.1G CGroup: /system.slice/cassandra.service └─2170 /usr/bin/java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:+AlwaysPreTouch > Apr 30 07:55:00 oraclelinux cassandra[2170]: INFO [main] 2022-04-30 07:55:00,318 CassandraDaemon.java:640 - Classpath: /etc/cassandra/conf:/> Apr 30 07:55:00 oraclelinux cassandra[2170]: INFO [main] 2022-04-30 07:55:00,319 CassandraDaemon.java:642 - JVM Arguments: [-ea, -da:net.ope> Apr 30 07:55:00 oraclelinux cassandra[2170]: WARN [main] 2022-04-30 07:55:00,405 NativeLibrary.java:201 - Unable to lock JVM memory (ENOMEM)> Apr 30 07:55:00 oraclelinux cassandra[2170]: INFO [main] 2022-04-30 07:55:00,569 MonotonicClock.java:202 - Scheduling approximate time conve> Apr 30 07:55:00 oraclelinux cassandra[2170]: INFO [main] 2022-04-30 07:55:00,577 MonotonicClock.java:338 - Scheduling approximate time-check> Apr 30 07:55:00 oraclelinux cassandra[2170]: WARN [main] 2022-04-30 07:55:00,585 StartupChecks.java:143 - jemalloc shared library could not > Apr 30 07:55:00 oraclelinux cassandra[2170]: WARN [main] 2022-04-30 07:55:00,585 StartupChecks.java:187 - JMX is not enabled to receive remo> Apr 30 07:55:00 oraclelinux cassandra[2170]: INFO [main] 2022-04-30 07:55:00,590 SigarLibrary.java:44 - Initializing SIGAR library Apr 30 07:55:00 oraclelinux cassandra[2170]: WARN [main] 2022-04-30 07:55:00,603 SigarLibrary.java:174 - Cassandra server running in degrade> Apr 30 07:55:00 oraclelinux cassandra[2170]: WARN [main] 2022-04-30 07:55:00,604 StartupChecks.java:329 - Maximum number of memory map areas>
Fase 5:verifica Apache Cassandra
Attendi qualche istante per visualizzare completamente Apache Cassandra, quindi verifica Apache Cassandra utilizzando il seguente comando:
nodetool status
Otterrai il seguente errore:
nodetool: Failed to connect to '127.0.0.1:7199' - URISyntaxException: 'Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199'.
Per risolvere questo errore, aggiungi il flag di analisi "legacy" durante l'esecuzione di nodetool:
nodetool -Dcom.sun.jndi.rmiURLParsing=legacy status
Dovresti ottenere 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.06 KiB 16 100.0% 91f2092e-f428-40f8-8093-efe820abe917 rack1
Quindi, connettiti alla shell Cassandra usando l'utilità cqlsh:
cqlsh
Una volta connesso, dovresti ottenere il seguente output:
Connected to Test Cluster at 127.0.0.1:9042 [cqlsh 6.0.0 | Cassandra 4.0.3 | CQL spec 3.4.5 | Native protocol v5] Use HELP for help. cqlsh>
Passaggio 6:modifica il nome del cluster Cassandra
cqlsh
Quindi, cambia il nome del cluster con il seguente comando:
cqlsh> UPDATE system.local SET cluster_name = 'Atlantic Cluster' WHERE KEY = 'local';
Quindi, esci dalla shell Cassandra con il seguente comando:
cqlsh> exit
Quindi, modifica il file di configurazione principale di Apache Cassandra e definisci il tuo nuovo nome cluster:
nano /etc/cassandra/default.conf/cassandra.yaml
Modifica il nome del cluster Cassandra come mostrato di seguito:
cluster_name: 'Atlantic Cluster'
Salva e chiudi il file, quindi riavvia Apache Cassandra per applicare le modifiche:
systemctl restart cassandra
Ora verifica il nome del cluster Cassandra con il seguente comando:
cqlsh
Dovresti ottenere il tuo nuovo nome del cluster nel seguente output:
Connected to Atlantic Cluster at 127.0.0.1:9042 [cqlsh 6.0.0 | Cassandra 4.0.3 | CQL spec 3.4.5 | Native protocol v5] Use HELP for help.
Conclusione
Nella guida precedente, abbiamo spiegato come installare Apache Cassandra su Oracle Linux 8. Ora puoi utilizzare Apache Cassandra per gestire e gestire grandi set di dati. Provalo con l'hosting VPS di Atlantic.Net!