Cassandra-Rack-Unterstützung hinzufügen

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:

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">
</ph> 1 Rack mit 3 Knoten
(Abbildung 1) Standardkonfiguration: Alle Knoten auf einem Rack

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">
</ph> 3 Racks mit 1 Knoten in jedem Rack
(Abbildung 2) Rack-sensitive Konfiguration: drei Knoten, jeweils einer Rack

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:

  1. 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.

  2. 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"
  3. Ä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

  4. 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
  5. 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>
    1. Node 1 (IP1)
    2. Node 2 (IP2)
    3. 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">
</ph> 3 Racks mit jeweils 2 Knoten
(Abbildung 3) Cassandra-Ring mit 6 Knoten: Zwei Knoten auf jedem drei Racks

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:

  1. Node 1 (IP1)
  2. Node 4 (IP4)*
  3. Node 2 (IP2)
  4. Node 5 (IP5)
  5. Node 3 (IP3)
  6. 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">
</ph> 3 Racks mit jeweils 4 Knoten
(Abbildung 4) Cassandra-Ring mit 12 Knoten: vier Knoten auf jedem der drei Knoten Racks

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:

  1. Node 1 (IP1)
  2. Node 7 (IP7)*
  3. Node 4 (IP4)
  4. Node 8 (IP8)
  5. Node 2 (IP2)
  6. Node 9 (IP9)
  7. Node 5 (IP5)
  8. Node 10 (IP10)
  9. Node 3 (IP3)
  10. Node 11 (IP11)
  11. Node 6 (IP6)
  12. 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).