Hochverfügbares Apache Cassandra-Cluster bereitstellen
Apache Cassandra ist eine Open-Source-NoSQL-Datenbank. Sie skaliert linear und Daten werden automatisch auf mehrere Knoten repliziert. Führen Sie Ihre Apache Cassandra-Cluster in Oracle Cloud Infrastructure aus, und nutzen Sie die Zuverlässigkeit, Sicherheit und betriebliche Flexibilität von Unternehmen.
Architektur
Diese Referenzarchitektur zeigt ein 6-Knoten-Deployment eines Apache Cassandra-Clusters, das auf Oracle Cloud Infrastructure Compute-Instanzen ausgeführt wird.

Beschreibung der Abbildung cassandra-oci.eps
Die Architektur enthält die folgenden Komponenten:
- Teilsektor
Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Rechenzentrum enthält, sogenannte Availability-Domains. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).
Alle Komponenten dieser Architektur werden in einer einzelnen Region bereitgestellt.
- Verfügbarkeitsdomains
Verfügbarkeitsdomains sind eigenständige unabhängige Rechenzentren innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain werden von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz bietet. Availability-Domains teilen keine Infrastruktur wie Strom oder Kühlung oder das interne Availability-Domainnetzwerk. Ein Fehler bei einer Availability-Domain wirkt sich daher unwahrscheinlich auf die anderen Availability-Domains in der Region aus.
- Faultdomains
Eine Faultdomain ist eine Gruppierung von Hardware und Infrastruktur innerhalb einer Availability-Domain. Jede Availability-Domain verfügt über drei Faultdomains mit unabhängiger Power und Hardware. Wenn Sie Ressourcen auf mehrere Faultdomains verteilen, können Ihre Anwendungen physischen Serverausfall, Systemwartung und Stromausfälle innerhalb einer Faultdomain tolerieren.
- Virtuelles Cloud-Netzwerk (VCN) und Subnetze
Ein VCN ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region eingerichtet haben. Wie herkömmliche Rechenzentrumsnetze geben VCNs Ihnen die vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere nicht überlappende CIDR-Blöcke enthalten, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die für eine Region oder eine Availability-Domain Geltungsbereich haben können. Jedes Subnetz besteht aus einem zusammenhängenden Adressbereich, der sich nicht mit den anderen Subnetzen in VCN überschneidet. Nach der Erstellung können Sie die Größe eines Subnetzes ändern. Ein Subnetz kann öffentlich oder privat sein.
- Apache Cassandra-Cluster
Diese Architektur zeigt ein Apache Cassandra-Cluster, das aus drei vordefinierten Knoten und drei nicht vordefinierten Knoten besteht, die auf Oracle Cloud Infrastructure Compute-Instanzen ausgeführt werden. Die Knoten werden innerhalb einer einzelnen Availability-Domain auf die Faultdomains verteilt. Alle Compute Instances sind an ein einzelnes öffentliches Subnetz angehängt.
- Internetgateway
Das Internetgateway in dieser Architektur ermöglicht den Verkehr zwischen dem öffentlichen Subnetz und dem öffentlichen Internet.
- Sicherheitslisten
Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die die Quelle, das Ziel und den Traffictyp angeben, die im Subnetz und außerhalb des Subnetzes zulässig sein müssen.
Diese Architektur enthält Ingressregeln für TCP-Ports 7000, 7001, 7199, 9042 und 9160. Apache Cassandra verwendet Port 7000 für die Kommunikation zwischen Clustern (oder Port 7001, wenn SSL aktiviert ist) und Port 7199 für JMX. Port 9042 ist der Clientport, und 9160 ist der native Transportport.
- Routentabelle
Virtuelle Routentabellen enthalten Regeln zur Weiterleitung des Traffics von Subnetzen an Ziele außerhalb eines VCN, typischerweise über Gateways.
Empfehlungen
Ihre Anforderungen können von der hier beschriebenen Architektur abweichen. Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt.
- Compute Form und Betriebssystem
Die Terraform-Vorlage, die für diese Architektur bereitgestellt wird, stellt Compute-Instanzen bereit, auf denen Oracle Linux 7.8 ausgeführt wird. Wählen Sie je nach Bedarf eine geeignete Form für die Compute-Instanzen. Je mehr Speicher ein Apache Cassandra-Knoten hat, desto besser ist die Leseperformance. Eine höhere Anzahl von CPUs führt zu einer besseren Schreibperformance.
- VCN
Wenn Sie ein VCN erstellen, bestimmen Sie die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen, die Sie an Subnetze in VCN anhängen möchten. Verwenden Sie CIDR-Blöcke, die sich im standardmäßigen privaten IP-Adressraum befinden.
Wählen Sie CIDR-Blöcke, die sich nicht mit einem anderen Netzwerk überschneiden (in Oracle Cloud Infrastructure, Ihrem On-Premise-Rechenzentrum oder einem anderen Cloud-Provider), zu dem Sie private Verbindungen einrichten möchten.
Nachdem Sie ein VCN erstellt haben, können Sie die CIDR-Blöcke ändern, hinzufügen und entfernen.
Wenn Sie die Subnetze entwerfen, sollten Sie den Trafficfluss und die Sicherheitsanforderungen berücksichtigen. Ordnen Sie alle Ressourcen innerhalb einer bestimmten Ebene oder Rolle demselben Subnetz zu, das als Sicherheitsgrenze dienen kann.
Ein regionales Subnetz verwenden.
- Sicherheit
-
Verwenden Sie Oracle Cloud Guard, um die Sicherheit Ihrer Ressourcen in Oracle Cloud Infrastructure proaktiv zu überwachen und zu verwalten. Cloud Guard verwendet Detektorrezepte, die Sie definieren können, um Ihre Ressourcen auf Sicherheitsschwächen zu untersuchen und Operatoren und Benutzer auf riskante Aktivitäten zu überwachen. Wenn eine Fehlkonfiguration oder unsichere Aktivität erkannt wird, empfiehlt Cloud Guard Korrekturmaßnahmen und unterstützt Sie bei der Durchführung dieser Aktionen, basierend auf Antwortrezepten, die Sie definieren können.
-
Für Ressourcen, die maximale Sicherheit erfordern, empfiehlt Oracle, Sicherheitszonen zu verwenden. Eine Sicherheitszone ist ein Compartment, das mit einem von Oracledefinierten Rezept von Sicherheits-Policys verknüpft ist, die auf Best Practices basieren. Beispiel: Die Ressourcen in einer Sicherheitszone dürfen nicht über das öffentliche Internet zugänglich sein und müssen mit kundenverwalteten Schlüsseln verschlüsselt werden. Wenn Sie Ressourcen in einer Sicherheitszone erstellen und aktualisieren, validiert Oracle Cloud Infrastructure die Vorgänge für die Policys im Rezept der Sicherheitszone und verweigert Vorgänge, die gegen eine der Policys verstoßen.
-
Überlegungen
Wenn Sie diese Architektur implementieren, sollten Sie die folgenden Faktoren berücksichtigen:
- Skalierbarkeit
Diese Architektur stellt einen Apache Cassandra Seed-Knoten und einen Nicht-Feed-Knoten in jeder Faultdomain bereit. Möglicherweise benötigen Sie weitere Knoten, um die Performance- oder High Availability-Anforderungen Ihrer Anwendung zu erfüllen.
Sie können das Apache Cassandra-Cluster horizontal skalieren, indem Sie weitere Compute-Instanzen hinzufügen. Sie können die Seed-Knoten auf die Faultdomains verteilen.
Sie können das Cluster vertikal skalieren, indem Sie die Form jeder Compute-Instanz ändern. Die Verwendung einer Form mit einer höheren Coreanzahl erhöht den Speicher, der der Compute-Instanz und ihrer Netzwerkbandbreite zugewiesen ist.
- Anwendungsverfügbarkeit
In dieser Architektur werden Compute-Instanzen, die dieselben Aufgaben ausführen, redundant auf mehrere Faultdomains verteilt. Dieses Design eliminiert jeden einzelnen Ausfallpunkt in der Topologie.
Nachdem die Architektur bereitgestellt wurde, können Sie sich mit SSH-Tools wie PuTTY oder Git Bash bei der öffentlichen IP-Adresse der Apache Cassandra-Knoten anmelden. Sie können die Cassandra Query Language (CQL) für DDL- und DML-Vorgänge in der Apache Cassandra-Datenbank verwenden.
- Kostenfaktor
Eine blanke Metallform bietet eine bessere Lese- und Schreibleistung. Wenn Ihre Anwendung keine hohe Performance benötigt, können Sie eine VM-Form basierend auf den Kernen, dem Speicher und der Netzwerkbandbreite auswählen, die Sie für Ihre Datenbank benötigen. Sie können mit einer 1-Core-Form für die Apache Cassandra-Knoten beginnen und die Form später ändern, wenn Sie mehr Performance, Speicher oder Netzwerkbandbreite benötigen.
Bereitstellen
Der für das Deployment dieser Referenzarchitektur erforderliche Code ist in GitHub verfügbar. Sie können den Code mit einem einzigen Klick in Oracle Cloud Infrastructure Resource Manager ziehen, den Stack erstellen und bereitstellen. Alternativ können Sie den Code von GitHub auf Ihren Computer herunterladen, den Code anpassen und die Architektur mit der Terraform-CLI bereitstellen.
- Mit Oracle Cloud Infrastructure Resource Manager bereitstellen:
- Klicken Sie auf
Wenn Sie noch nicht angemeldet sind, geben Sie die Mandanten- und Benutzerzugangsdaten ein.
- Prüfen und akzeptieren Sie die Allgemeinen Geschäftsbedingungen.
- Wählen Sie den Bereich, in dem Sie den Stack bereitstellen möchten.
- Befolgen Sie die Anweisungen und Aufforderungen auf dem Bildschirm, um den Stack zu erstellen.
- Klicken Sie nach dem Erstellen des Stacks auf Terraform-Aktionen, und wählen Sie Plan aus.
- Warten Sie, bis der Job abgeschlossen ist, und prüfen Sie den Plan.
Um Änderungen vorzunehmen, kehren Sie zur Seite "Stackdetails" zurück, klicken Sie auf Stack bearbeiten, und nehmen Sie die erforderlichen Änderungen vor. Führen Sie dann die Aktion Plan erneut aus.
- Wenn keine weiteren Änderungen erforderlich sind, kehren Sie zur Seite "Stackdetails" zurück, klicken auf Terraform-Aktionen, und wählen Sie Anwenden.
- Klicken Sie auf
- Deployment mit der Terraform-CLI:
- Gehen Sie zu GitHub.
- Klonen oder laden Sie das Repository auf Ihren lokalen Computer herunter.
- Befolgen Sie die Anweisungen im Dokument
README
.
Änderungslog
In diesem Log werden signifikante Änderungen aufgeführt:
4. Februar 2021 |
|