GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren Sie den Apache Cassandra-Cluster unter Linux

Apache Cassandra ist ein kostenloses und quelloffenes verteiltes NoSQL-Datenbankverwaltungssystem, das von Facebook (jetzt Meta) entwickelt wurde. Die verteilte Natur von Cassandra ermöglicht hohe Verfügbarkeit und hohe Leistung ohne Single Point of Failure.

Aufgrund seiner Skalierbarkeit eignet sich Cassandra für massive aktive und kritische Datensätze. Große und berühmte Organisationen wie Apple, Bloomberg, BestBuy, eBay, Netflix, Spotify und viele mehr. Und wenn Sie Apache Cassandra kennenlernen möchten, sind Sie hier genau richtig.

In diesem Artikel erfahren Sie, wie Sie einen Apache Cassandra-Cluster auf Linux-Systemen einrichten und konfigurieren. Außerdem erfahren Sie, wie Sie mit Cassandra über die Befehlszeilentools interagieren.

Voraussetzungen

Um den Beispielen in diesem Tutorial folgen zu können, stellen Sie sicher, dass die folgenden Anforderungen erfüllt sind.

  • Sie benötigen zwei Linux-Server im selben Netzwerk. Dieses Tutorial verwendet zwei Rocky Linux (v8.5)-Server mit den folgenden Details.
Hostname IP-Adresse
kassandra01 172.16.1.10
cassandra02 172.16.1.15

Die Apache Cassandra-Dokumentation enthält keine vorgeschriebene Liste kompatibler Linux-Distributionen, erwähnt jedoch, dass Cassandra auf CentOS, RHEL, Debian und SUSE Enterprise Linux ausgeführt werden kann.

  • Sie müssen über sudo-Berechtigungen oder Zugriff auf das Root-Konto verfügen.
  • Nano-Texteditor oder ein beliebiger Linux-basierter Texteditor.

Java OpenJDK und Python installieren

Bevor Sie mit der Installation von Apache Cassandra beginnen, installieren Sie zunächst die Softwareabhängigkeiten. Cassandra ist eine Java-basierte Anwendung, und die neueste Version (v4.0 zum Zeitpunkt dieses Schreibens) erfordert Java OpenJDK 1.8 und Python 3.6.

Dieses Tutorial verwendet den DNF-Paketmanager für RPM-basierte Linux-Distributionen. Sie können Yum oder Apt auch auf DEB-basierten Distributionen wie Ubuntu und Debian verwenden. Schlagen Sie in der Dokumentation Ihrer Distribution nach, um festzustellen, welcher Paketmanager verwendet werden soll.

Führen Sie die folgenden Schritte aus, um Java OpenJDK 1.8 und Python 3.6 auf jedem Server zu installieren.

1. Öffnen Sie Ihren SSH-Client, stellen Sie eine Verbindung zu Ihrem Server her und führen Sie sudo su aus Befehl, root zu werden.

ssh [email protected]_name_or_IP
sudo su

2. Führen Sie als Nächstes dnf aus Befehl unten, um die Pakete Java OpenJDK 1.8 und Python 3.6 zu installieren. Warten Sie, bis die Installation abgeschlossen ist.

dnf install java-1.8.0-openjdk python36 -y

3. Überprüfen Sie nun die Java-Version, indem Sie den folgenden Befehl ausführen.

java -version

Unten sehen Sie die aktuelle Version von Java OpenJDK ist 1.8.0_312.

4. Richten Sie als Nächstes den Standard-Python-Interpreter auf Ihren Servern auf Python 3.6 ein. Führen Sie dazu alternatives aus Befehl wie unten.

alternatives --config python

Geben Sie die Ihrer Python-Version entsprechende Nummer an der Eingabeaufforderung für die Befehlsauswahl ein. Das folgende Beispiel zeigt, dass Python3 Option 2 ist.

5. Führen Sie abschließend den folgenden Befehl aus, um die Python-Version zu überprüfen.

python --version

Sie sollten Python 3.x.x sehen ist die Standardeinstellung, ähnlich wie im Screenshot unten.

Apache Cassandra NoSQL-Datenbank installieren

Sie haben die Abhängigkeiten installiert und sichergestellt, dass es sich um geeignete Versionen handelt. Jetzt ist es an der Zeit, Apache Cassandra zu installieren!

Obwohl es viele Möglichkeiten gibt, Cassandra zu installieren, ist der bequemste Weg das offizielle Repository. Aber es gibt ein paar schnelle Schritte, die Sie zuerst ausführen müssen. Um die Cassandra NoSQL-Datenbank auf Linux-Systemen zu installieren, gehen Sie wie folgt vor.

1. Führen Sie den folgenden Befehl aus, um eine neue Repository-Datei für Cassandra zu erstellen.

nano /etc/yum.repos.d/cassandra.repo

2. Kopieren Sie die folgende Cassandra-Repository-Konfiguration. Dieses Repository ist für die meisten Red Hat-Distributionen verfügbar, einschließlich Rocky Linux.

[cassandra]
name=Apache Cassandra
baseurl=https://downloads.apache.org/cassandra/redhat/40x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS

3. Speichern und schließen Sie die Datei nach der Bearbeitung mit Ctrl+X , Y , und Enter .

4. Als nächstes führen Sie dnf aus Befehl unten, um alle verfügbaren Repositories auf Ihrem System zu überprüfen.

dnf repolist

Sie sollten das Apache Cassandra-Repository in der Repo-Liste sehen, wie unten gezeigt.

5. Installieren Sie nun die Cassandra NoSQL-Datenbank, indem Sie den folgenden Befehl ausführen.

dnf install cassandra -y

Nach der Installation von Apache Cassandra sollte eine Bestätigungsmeldung angezeigt werden, ähnlich wie im folgenden Screenshot.

Konfigurieren des Apache Cassandra-Clusters

Nachdem Sie Cassandra installiert haben, müssen Sie die Konfiguration /etc/cassandra/conf/cassandra.yaml bearbeiten und den Cassandra-Cluster einrichten.

Damit der Cassandra-Cluster funktioniert, müssen Sie die standardmäßige Cassandra-Konfiguration auf allen Servern ändern, z. B.:

  • Ändern Sie den Standard cluster_name .
  • Server-IP-Adressen zum seeds hinzufügen Möglichkeit.
  • Ändern Sie den Standard listen_address an die lokale IP-Adresse.
  • Aktivieren Sie den rpc_address für Client-Verbindungen.

Fahren Sie nun mit den folgenden Schritten fort, um den Cassandra-Cluster einzurichten.

1. Auf cassandra01 , führen Sie den folgenden Befehl aus, um die Cassandra-Konfiguration cassandra.yaml zu öffnen zum Bearbeiten.

nano /etc/cassandra/conf/cassandra.yaml

2. Ändern Sie den Standardwert von cluster name mit dem neuen Namen. Dieses Tutorial verwendet den neuen Clusternamen ATA Cluster .

cluster_name: 'ATA Cluster'

3. Fügen Sie nun die IP-Adresse jedes Servers mit dem Standard-Cassandra-TCP-Port 7000 zu seeds hinzu Option unten. Das Format folgt dem Muster IP:Port,IP:Port , und der Standardport ist 7000 .

seeds: "172.16.1.10:7000,172.16.1.15:7000"

4. Ändern Sie als Nächstes den Standardwert listen_address an die IP-Adresse des Servers, nicht lokaler Host. Die Option listen_address definiert, welche IP-Adresse Cassandra ausführen wird.

# for cassandra01
listen_address: 172.16.1.10

# for cassandra02
listen_address: 172.16.1.15

5. Ändern Sie als Nächstes die Standardoption rpc_address mit der Server-IP-Adresse, der gleiche Wert wie listen_address Möglichkeit. In der Cassandra-Clusterumgebung gehen alle Client-Verbindungen standardmäßig über die IP-Adresse des lokalen Servers TCP Port 9042 .

# for cassandra01
rpc_address: 172.16.1.10

# for cassandra02
rpc_address: 172.16.1.15

6. Speichern und schließen Sie die Konfigurationsdatei, indem Sie Ctrl+X drücken , Y , und Enter .

7. Führen Sie nach dem Bearbeiten der Cassandra-Konfiguration den folgenden Befehl aus, um den Cassandra-Dienst zu starten. Dieser Befehl startet automatisch den Cluster und erreicht andere Server, deren IP-Adressen auf seeds liegen Möglichkeit.

service cassandra start

8. Bestätigen Sie nun den Status des Cassandra-Dienstes, indem Sie den folgenden Befehl ausführen.

service cassandra status

Sie erhalten eine Ausgabe ähnlich dem Screenshot unten. Wie Sie sehen können, ist der Cassandra-Dienst aktiv (wird ausgeführt) .

Apache Cassandra-Cluster mit Firewall sichern

Das Einrichten einer Firewall zum Sichern von Diensten ist eine wesentliche Aufgabe in der Produktionsumgebung. Dadurch können Sie den Zugriff auf den Cassandra-Cluster nur von bestimmten IP-Adressen oder Netzwerkbereichen beschränken.

Bei generischen Red Hat Linux-Distributionen ist firewalld die Standard-Firewall-Software.

Standardmäßig erfordert Cassandra, dass zwei TCP-Ports geöffnet sein müssen. Port 7000 ist der Standard-Cluster-Port und Port 9042 ist der native Standard-Transportport für Client-Verbindungen.

Befolgen Sie diese Schritte, um die Cassandra-Cluster-Bereitstellung mit einer Firewall zu sichern.

1. Bestätigen Sie zunächst, ob Sie bereits firewalld haben auf Ihren Servern, indem Sie den folgenden Befehl ausführen.

dnf search firewalld

Falls firewalld nicht vorhanden ist, führen Sie die Schritte 2 und 3 aus. Aber wenn firewalld bereits auf dem Server existiert, fahren Sie stattdessen mit Schritt 4 fort.

2. Wenn Sie firewalld nicht haben Führen Sie auf Ihrem System den folgenden Befehl aus, um es zu installieren.

dnf install firewalld -y

3. Starten Sie nun den firewalld Dienst, indem Sie den folgenden Befehl ausführen. Dieser Befehl startet den firewalld Dienst mit Standardregeln, wodurch wichtige Ports und Dienste wie SSH- und DHCP-Clients geöffnet werden.

systemctl start firewalld

Firewalld bietet standardmäßig eine Befehlszeilenschnittstelle firewall-cmd zum Verwalten und Pflegen von Firewall-Regeln.

4. Führen Sie den folgenden firewall-cmd aus Befehl zum Erstellen einer neuen Zone für den Cassandra-Cluster und laden Sie firewalld neu Regeln.

# add firewalld zone cassandra-cluster
firewall-cmd --new-zone=cassandra-cluster --permanent

# reload firewalld
firewall-cmd --reload

Sie sehen die Ausgabemeldung Erfolg , was bedeutet, dass die Operation erfolgreich war. Die Option --permanent macht neue Firewall-Regeln dauerhaft.

5. Fügen Sie als Nächstes Ihr Servernetzwerk-CIDR zu cassandra-cluster hinzu Zone. Diese Regel lässt alle Server oder Clients auf dem CIDR 172.16.1.0/24 zu zum Reden und Verbinden. Um eine einzelne IP-Adresse hinzuzufügen, geben Sie die IP-Adresse 172.16.1.20 ein .

firewall-cmd --zone=cassandra-cluster --add-source=172.16.1.0/24 --permanent

6. Führen Sie nun den folgenden Befehl aus, um die Cassandra-Dienstports 7000 hinzuzufügen und 9042 zum cassandra-cluster Zone.

# add storage_port Apache Cassandra to the zone cassandra_cluster
firewall-cmd --zone=cassandra-cluster --add-port=7000/tcp --permanent

# add Apache Cassandra port for client connections
firewall-cmd --zone=cassandra-cluster --add-port=9042/tcp --permanent

7. Zuletzt laden Sie firewalld neu Regeln, um eine neue Konfiguration anzuwenden, indem Sie den folgenden Befehl ausführen.

firewall-cmd --reload

Auf den Cassandra-Cluster kann jetzt nur noch über 172.16.1.0/24 zugegriffen werden Netzwerk und trennt alle Verbindungen von anderen Netzwerken.

Überprüfen des Apache Cassandra-Cluster-Status

Nodetool ist ein natives Befehlsdienstprogramm zum Verwalten und Überwachen des Cassandra-Clusters. Mit diesem Tool können Sie den Metrikstatus des Cassandra-Clusters anzeigen, z. B. Tabellen und Schlüsselräume, Servermetriken, Anwendungen, Clientverbindungsmetriken usw.

Im Allgemeinen führen Administratoren den nodetool aus Befehl direkt auf dem betriebsbereiten Cassandra-Server, der routinemäßige Datenbankwartung und -überwachung durchführt.

Führen Sie die folgenden Schritte aus, um die Grundlagen der Überwachung des Cassandra-Clusters mit nodetool zu erlernen Dienstprogramm.

1. Überprüfen Sie den Status des Cassandra-Clusters, indem Sie den folgenden Befehl ausführen.

nodetool status

Sie erhalten eine Ausgabe ähnlich dem Screenshot unten.

  • Du bedeutet, dass der Knoten UP ist oder Laufen.
  • N bedeutet, dass der Knoten NORMAL ist .
  • Die Adresse kann die IP-Adresse oder URL des Knotens sein.
  • Laden ist die Größe der Dateien im Cassandra-Datenverzeichnis. Dieser Wert wird alle 90 Sekunden aktualisiert.
  • Das Token ist die Anzahl der auf dem Knoten verfügbaren Token.
  • Die Host-ID ist die Netzwerk-ID des Knotens. Jeder Knoten hat eine andere ID.

2. Führen Sie nun den folgenden Befehl aus, um detaillierte Informationen über den einzelnen Knoten zu erhalten.

nodetool info

Unten sehen Sie detaillierte Informationen über den Knoten, wie zum Beispiel:

  • Verfügbarkeit
  • Heap-Speicherinformationen
  • Laden
  • Schlüssel-Cache und Zähler-Cache
  • Standort des Rechenzentrums

3. Zeigen Sie als Nächstes die Details des Cassandra-Clusters an, indem Sie den folgenden Befehl ausführen.

nodetool describecluster

Unten sehen Sie den detaillierten Cassandra-Cluster.

  • Cluster-Informationen enthält grundlegende Informationen über den Cassandra-Cluster, einschließlich Name, Standard-Cassandra-Partitionierer und Schemaversion.
  • Statistiken für alle Knoten zeigen den aktuellen Status aller Knoten im Cassandra-Cluster an.
  • Wenn Sie den Cassandra-Cluster auf mehreren Rechenzentren aufgebaut haben, sehen Sie alle Ihre Rechenzentren in den Rechenzentren Abschnitt.
  • Die Datenbankversionen Abschnitt zeigt die Cassandra-Version auf jedem Cluster-Knoten.
  • Die Liste aller verfügbaren Keyspaces oder Datenbanken auf dem Cassandra-Cluster ist unter Keyspaces verfügbar Sektion.

Verbinden mit dem Apache Cassandra-Cluster

Durch die Installation des Apache Cassandra-Pakets auf dem Server wird auch die Cassandra Query Language Shell (CQLSH) installiert. Mit diesem Tool können Administratoren eine Verbindung zu Apache Cassandra herstellen und Datenbanken oder Schlüsselräume und Benutzer verwalten.

Befolgen Sie die nachstehenden Schritte, um mithilfe der Befehlszeile cqlsh eine Verbindung zum Cassandra-Cluster herzustellen .

1. Führen Sie cqlsh aus Befehl unten, um eine Verbindung zum Cassandra-Cluster herzustellen. Geben Sie die Cassandra-IP-Adresse an, und der Standardport für Clientverbindungen ist 9042 .

cqlsh 172.16.1.10 9042

Sobald Sie eine Verbindung zum Cassandra-Cluster hergestellt haben, sehen Sie eine ähnliche Ausgabe wie im folgenden Screenshot. Dieses Beispiel verwendet den Clusternamen ATA Cluster auf der Server-IP-Adresse 172.16.1.10 .

2. Führen Sie nun die folgenden CQL-Abfragen aus, um zu überprüfen, mit welchem ​​Server Sie verbunden sind, überprüfen Sie den Clusternamen und überprüfen Sie alle verfügbaren Schlüsselräume auf der Cassandra.

# show detailed host
SHOW HOST

# show cluster name
DESCRIBE CLUSTER

# list all available keyspaces (databases)
DESCRIBE KEYSPACES

Sie sehen eine ähnliche Ausgabe wie im folgenden Screenshot. Der SHOW HOST Abfrage zeigt Ihnen, wo Sie verbunden sind, die Abfrage DESCRIBE CLUSTER zeigt Ihnen den Namen des Cassandra-Clusters und die Abfrage DESCRIBE KEYSPACES zeigt Ihnen die Liste der Schlüsselräume auf Ihrem Cassandra-Knoten.

3. Geben Sie abschließend exit ein um sich vom cqlsh abzumelden Umgebung.

Schlussfolgerung

In diesem Tutorial haben Sie gelernt, wie Sie Apache Cassandra unter Linux installieren und konfigurieren. Außerdem haben Sie den Apache Cassandra-Cluster mit zwei Linux-Servern konfiguriert und die Bereitstellung mit Firewalld gesichert.

An diesem Punkt können Sie weitere Server hinzufügen und Ihre Bereitstellungen skalieren, um Hochverfügbarkeit, Konsistenz und Redundanz für Ihre Daten bereitzustellen.

Was kommt als nächstes für Sie? Beginnen Sie vielleicht mit der Einrichtung der Authentifizierung und Autorisierung auf Ihrem Cassandra-Cluster und richten Sie dann die Schlüsselraum-/Datenbankreplikation für Ihre Anwendungen ein. Und wenn Sie schon dabei sind, warum lernen Sie nicht, wie Sie den Apache Cassandra-Cluster mit nodetool warten?


Linux
  1. So installieren Sie Python unter Linux

  2. So installieren Sie Apache Cassandra auf AlmaLinux / Rocky Linux 8

  3. So installieren Sie Apache Cassandra unter Ubuntu 18.04 / Ubuntu 16.04 und Debian 9

  4. So installieren Sie Apache Kafka unter Rocky Linux 8

  5. So installieren Sie Apache Cassandra unter Ubuntu 20.04

So installieren Sie Apache 2.4 und PHP 7.4 unter Amazon Linux

So installieren Sie Apache Cassandra unter AlmaLinux 8 | Rocky-Linux 8

So installieren und konfigurieren Sie Apache Cassandra auf einem Linux-System

So installieren Sie Apache unter Arch Linux

So installieren Sie Anaconda Python unter Rocky Linux 8

So installieren Sie Apache Solr unter Oracle Linux 8