Apache Cassandra ist ein Open-Source-NoSQL-Datenbankverwaltungssystem mit breitem Spaltenspeicher, das für die Verarbeitung großer Datenmengen entwickelt wurde. Cassandra kann auf viele Server verteilt werden, um eine hohe Verfügbarkeit ohne Single Point of Failure zu erreichen. Im Allgemeinen wird es als Echtzeit-Betriebsdatenspeicher für Online-Transaktionsanwendungen und als leseintensive Datenbank für große Systeme verwendet. Derzeit wird es von vielen Organisationen verwendet, darunter Netflix, Digg, Adobe, Twitter, HP, IBM, Rackspace, Cisco und Reddit.
In diesem Handbuch erklären wir, wie Sie Apache Cassandra auf Oracle Linux 8 installieren.
Voraussetzungen
- Ein Server, auf dem Oracle Linux 8 auf der Atlantic.Net Cloud Platform ausgeführt wird
- Ein auf Ihrem Server konfiguriertes Root-Passwort
Schritt 1 – Atlantic.Net Cloud-Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Oracle Linux als Betriebssystem mit mindestens 4 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
dnf update -y
Schritt 2 – Java 8 installieren
dnf install epel-release python2 python2-pip java-1.8.0-openjdk -y
Überprüfen Sie nach der Installation die Java-Installation mit dem folgenden Befehl:
java -version
Sie erhalten die Java-Version in der folgenden Ausgabe:
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)
Installieren Sie als Nächstes das cqlsh-Befehlszeilendienstprogramm, um über die Befehlszeile eine Verbindung zu Cassandra herzustellen.
pip2 install cqlsh
Schritt 3 – Apache Cassandra installieren
nano /etc/yum.repos.d/cassandra.repo
Fügen Sie die folgenden Zeilen hinzu:
[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
Speichern und schließen Sie die Datei, wenn Sie fertig sind, und installieren Sie dann Apache Cassandra mit dem folgenden Befehl:
dnf install cassandra -y
Schritt 4 – Erstellen Sie eine Servicedatei für Cassandra
Es wird empfohlen, eine Dienstdatei zu erstellen, um den Apache Cassandra-Dienst über systemd zu verwalten. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/systemd/system/cassandra.service
Fügen Sie die folgenden Zeilen hinzu:
[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
Speichern und schließen Sie die Datei und laden Sie dann den systemd-Daemon neu, um die Änderungen zu übernehmen:
systemctl daemon-reload
Als nächstes starten und aktivieren Sie den Cassandra-Dienst mit dem folgenden Befehl:
systemctl start cassandra systemctl enable cassandra
Führen Sie den folgenden Befehl aus, um den Status von Apache Cassandra zu überprüfen:
systemctl status cassandra
Sie sollten die folgende Ausgabe sehen:
● 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>
Schritt 5 – Apache Cassandra verifizieren
Warten Sie einige Zeit, bis Apache Cassandra vollständig hochgefahren ist, und überprüfen Sie dann Apache Cassandra mit dem folgenden Befehl:
nodetool status
Sie erhalten die folgende Fehlermeldung:
nodetool: Failed to connect to '127.0.0.1:7199' - URISyntaxException: 'Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199'.
Um diesen Fehler zu beheben, fügen Sie beim Ausführen von nodetool das Parsing-Flag „Legacy“ hinzu:
nodetool -Dcom.sun.jndi.rmiURLParsing=legacy status
Sie sollten die folgende Ausgabe erhalten:
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
Verbinden Sie sich als Nächstes mit dem cqlsh-Dienstprogramm mit der Cassandra-Shell:
cqlsh
Sobald Sie verbunden sind, sollten Sie die folgende Ausgabe erhalten:
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>
Schritt 6 – Namen des Cassandra-Clusters ändern
cqlsh
Ändern Sie als Nächstes den Clusternamen mit dem folgenden Befehl:
cqlsh> UPDATE system.local SET cluster_name = 'Atlantic Cluster' WHERE KEY = 'local';
Als nächstes verlassen Sie die Cassandra-Shell mit dem folgenden Befehl:
cqlsh> exit
Bearbeiten Sie als Nächstes die Hauptkonfigurationsdatei von Apache Cassandra und definieren Sie Ihren neuen Clusternamen:
nano /etc/cassandra/default.conf/cassandra.yaml
Ändern Sie den Namen des Cassandra-Clusters wie unten gezeigt:
cluster_name: 'Atlantic Cluster'
Speichern und schließen Sie die Datei und starten Sie dann Apache Cassandra neu, um die Änderungen zu übernehmen:
systemctl restart cassandra
Überprüfen Sie nun den Namen des Cassandra-Clusters mit dem folgenden Befehl:
cqlsh
Sie sollten Ihren neuen Clusternamen in der folgenden Ausgabe erhalten:
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.
Schlussfolgerung
In der obigen Anleitung haben wir erklärt, wie Sie Apache Cassandra auf Oracle Linux 8 installieren. Sie können jetzt Apache Cassandra verwenden, um große Datenmengen zu handhaben und zu verwalten. Probieren Sie VPS-Hosting von Atlantic.Net aus!