Dieser Abschnitt enthält eine allgemeine Anleitung für die Skalierung von Cassandra-Vorgängen, indem Cassandra erstellt wird. auf Apigee Edge für Private Cloud-Rack-Aware.
Weitere Informationen darüber, warum es wichtig ist, Ihr Cassandra-Ring-Rack zu erkennen, finden Sie unter Ressourcen:
- Replikation (Cassandra-Dokumentation)
- Cassandra Architektur und Replikationsfaktor-Strategie
Was ist ein Rack?
Ein Cassandra-Rack ist eine logische Gruppierung von Cassandra-Knoten innerhalb des Rings. Logo: Cassandra verwendet Racks, um sicherzustellen, dass Replikate auf verschiedene logische Gruppierungen verteilt sind. Als werden Operationen nicht nur an einen Knoten, sondern an mehrere Knoten gesendet, die sich jeweils auf einem separaten Rack befinden. Fehlertoleranz und Verfügbarkeit verbessern.
In den Beispielen in diesem Abschnitt werden drei Cassandra-Racks verwendet, was der Anzahl der Racks entspricht, von Apigee in Produktionstopologien unterstützt werden.
Die Standardinstallation von Cassandra in Apigee Edge für Private Cloud geht von einem einzelnen logischen Rack aus und platziert alle Knoten in einem Rechenzentrum darin. Obwohl sich diese Konfiguration einfach installieren und verwalten lässt, wenn ein Vorgang auf einem dieser Knoten fehlschlägt.
Die folgende Abbildung zeigt die Standardkonfiguration des Cassandra-Ringes:
<ph type="x-smartling-placeholder">In einer robusteren Konfiguration würde jeder Knoten einem separaten Rack und einem separaten Vorgang zugewiesen werden. auf jedem dieser Racks für Replikate ausgeführt werden.
Die folgende Abbildung zeigt einen Ring mit drei Knoten. Auf diesem Bild ist die Reihenfolge zu sehen, in der Vorgänge wird über den Ring repliziert (im Uhrzeigersinn) und hebt hervor, dass sich keine zwei Knoten auf demselben Rack:
<ph type="x-smartling-placeholder">In dieser Konfiguration werden Vorgänge an einen Knoten, aber auch an Replikate dieses Knotens gesendet auf anderen Racks (im Uhrzeigersinn).
Rack-Awareness hinzufügen (mit 3 Knoten)
Alle Installationstopologien von Apigee Edge für Private Cloud haben mindestens drei Cassandra-Knoten, die in diesem Abschnitt „IP1“, „IP2“ und „IP3“. Standardmäßig befindet sich jeder Knoten im selben Rack, „ra-1“.
In diesem Abschnitt wird beschrieben, wie die Cassandra-Knoten separaten Racks zugewiesen werden, sodass alle Vorgänge werden an Replikatknoten in separaten logischen Gruppierungen innerhalb des Rings gesendet.
So weisen Sie Cassandra-Knoten während der Installation verschiedenen Racks zu:
- Melden Sie sich vor dem Ausführen des Installationsprogramms beim Cassandra-Knoten an und öffnen Sie das
folgende Datei im Hintergrund zur Bearbeitung:
/opt/silent.conf
Erstellen Sie die Datei, falls sie nicht vorhanden ist, und stellen Sie sicher, dass Sie das „apigee“-Element Nutzer und Inhaber sein.
- Bearbeiten Sie das Attribut
CASS_HOSTS
, eine durch Leerzeichen getrennte Liste von IP-Adressen (nicht DNS- oder Hostnamen) die folgende Syntax verwendet:CASS_HOSTS="IP_address:data_center_number,rack_number [...]"
Der Standardwert ist ein Cassandra-Ring mit drei Knoten, bei dem jeder Knoten Rack 1 und Daten zugewiesen ist. Zentrum 1 wie im folgenden Beispiel gezeigt:
CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
- Ändern Sie die Rack-Zuweisungen so, dass Knoten 2 Rack 2 zugewiesen und Knoten 3 zu Rack 2 zugewiesen wird.
Rack 3 wie im folgenden Beispiel gezeigt:
CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"
Durch Ändern der Rack-Zuweisungen weisen Sie Cassandra an, zwei zusätzliche logische Gruppierungen (Racks), die dann Replikate bereitstellen, die alle vom ersten Knoten.
Weitere Informationen zur Verwendung des Konfigurationsattributs
CASS_HOSTS
finden Sie unter Referenz zu Edge-Konfigurationsdateien - Speichern Sie die Änderungen an der Konfigurationsdatei und führen Sie zur Installation den folgenden Befehl aus:
Cassandra mit Ihrer aktualisierten Konfiguration:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f path/to/silent/config
Beispiel:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f /opt/silent.conf
- Wiederholen Sie diesen Vorgang für jeden Cassandra-Knoten im Ring in der Reihenfolge, in der die Knoten
werden in der Property
CASS_HOSTS
zugewiesen. In diesem Fall müssen Sie Cassandra installieren in der folgenden Reihenfolge: <ph type="x-smartling-placeholder">- </ph>
- Node 1 (IP1)
- Node 2 (IP2)
- Node 3 (IP3)
Nach der Installation sollten Sie die Cassandra-Konfiguration prüfen.
Cassandra-Konfiguration prüfen
Nach der Installation einer rackfähigen Cassandra-Konfiguration können Sie prüfen, ob die Knoten
den verschiedenen Racks mit dem Befehl nodetool status
zugewiesen.
Folgendes Beispiel zeigt:
/opt/apigee/apigee-cassandra/bin/nodetool status
(Sie führen diesen Befehl auf einem der Cassandra-Knoten aus.)
Die Ergebnisse sollten in etwa so aussehen, wobei die Spalte Rack zeigt die verschiedenen Rack-IDs für jeden Knoten:
Datacenter: dc-1 ======================== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID Rack UN IP1 737 MB 256 ? 554d4498-e683-4a53-b0a5-e37a9731bc5c ra-1 UN IP2 744 MB 256 ? cf8b7abf-5c5c-4361-9c2f-59e988d52da3 ra-2 UN IP3 723 MB 256 ? 48e0384d-738f-4589-aa3a-08dc5bd5a736 ra-3
Wenn Sie die JMX-Authentifizierung für Cassandra aktiviert haben, müssen Sie auch Ihren Nutzernamen und
Passwort zu nodetool
. Weitere Informationen finden Sie unter
Clusterknoten mit dem nodetool verwalten
Ring mit sechs Knoten installieren
Für zusätzliche Redundanz können Sie den Cassandra-Ring auf sechs Knoten erweitern. In diesem Fall jedem der drei Racks zwei Knoten zuzuweisen. Für diese Konfiguration sind drei zusätzliche Knoten erforderlich: Node 4 (IP4), Node 5 (IP5) und Node 6 (IP6).
Die folgende Abbildung zeigt die Reihenfolge, in der Vorgänge im Ring repliziert werden (im Uhrzeigersinn) und hebt die Tatsache hervor, dass sich während der Replikation keine zwei benachbarten Knoten auf demselben Rack:
<ph type="x-smartling-placeholder">In dieser Konfiguration hat jeder Knoten zwei weitere Replikate: eines in jedem der beiden Racks. Für Beispiel: Knoten 1 in Rack 1 hat ein Replikat in Rack 2 und Rack 3. An Knoten 1 gesendete Vorgänge werden ebenfalls im Uhrzeigersinn an die Replikate in den anderen Racks gesendet.
Um einen Cassandra-Ring mit drei Knoten zu einem Cassandra-Ring mit sechs Knoten zu erweitern, konfigurieren Sie die Knoten im wie in der unbeaufsichtigten Konfigurationsdatei:
CASS_HOSTS="IP1:1,1 IP4:1,3 IP2:1,2 IP5:1,1 IP3:1,3 IP6:1,2"
Wie bei einem Ring mit drei Knoten müssen Sie Cassandra in derselben Reihenfolge installieren, in der die Knoten
werden in der Property CASS_HOSTS
angezeigt:
- Node 1 (IP1)
- Node 4 (IP4)*
- Node 2 (IP2)
- Node 5 (IP5)
- Node 3 (IP3)
- Node 6 (IP6)
* Nehmen Sie die Änderungen in der Konfigurationsdatei für den Hintergrund vor, bevor Sie das Einrichtungsprogramm ausführen. auf dem vierten Knoten (zweiten Computer in der Cassandra-Installationsreihenfolge).
Auf 12 Knoten erweitern
Um die Fehlertoleranz und Verfügbarkeit weiter zu erhöhen, können Sie die Anzahl der Cassandra- von sechs auf zwölf Knoten im Ring. Für diese Konfiguration sind sechs zusätzliche Knoten (IP7 bis IP12).
Die folgende Abbildung zeigt die Reihenfolge, in der Vorgänge im Ring repliziert werden (im Uhrzeigersinn) und hebt die Tatsache hervor, dass sich während der Replikation keine zwei benachbarten Knoten auf demselben Rack:
<ph type="x-smartling-placeholder">Das Verfahren zum Installieren eines Rings mit 12 Knoten ähnelt dem Installieren eines Rings mit drei oder sechs Knoten:
Setzen Sie CASS_HOSTS
auf die angegebenen Werte und führen Sie das Installationsprogramm in der angegebenen Reihenfolge aus.
Zur Erweiterung auf einen Cassandra-Ring mit 12 Knoten konfigurieren Sie die Knoten folgendermaßen in Ihrem stillen Konfigurationsdatei:
CASS_HOSTS="IP1:1,1 IP7:1,2 IP4:1,3 IP8:1,1 IP2:1,2 IP9:1,3 IP5:1,1 IP10:1,2 IP3:1,3 IP11:1,1 IP6:1,2 IP12:1,3"
Wie bei Ringen mit drei und sechs Knoten müssen Sie das Installationsprogramm auf Knoten in folgender Reihenfolge ausführen: Damit werden die Knoten in der Konfigurationsdatei angezeigt:
- Node 1 (IP1)
- Node 7 (IP7)*
- Node 4 (IP4)
- Node 8 (IP8)
- Node 2 (IP2)
- Node 9 (IP9)
- Node 5 (IP5)
- Node 10 (IP10)
- Node 3 (IP3)
- Node 11 (IP11)
- Node 6 (IP6)
- Node 12 (IP12)
* Sie müssen diese Änderungen vornehmen, bevor Sie Apigee Edge for Private Cloud auf dem 7. Knoten (dem zweiten Computer im Cassandra-Installationsauftrag).