In mehreren Regionen wiederherstellen

Auf dieser Seite wird beschrieben, wie Cassandra in mehreren Regionen zurückgeholt oder wiederhergestellt wird.

In einer multiregionalen Bereitstellung wird Apigee Hybrid an mehreren geografischen Standorten in verschiedenen Rechenzentren bereitgestellt. Wenn eine oder mehrere Regionen fehlschlagen, aber fehlerfreie Regionen verbleiben, können Sie fehlgeschlagene Cassandra-Regionen anhand einer fehlerfreien Region mit den neuesten Daten wiederherstellen.

Bei einem katastrophalen Ausfall aller Hybridregionen kann Cassandra wiederhergestellt werden. Wenn Sie mehrere Apigee-Organisationen in Ihrer Bereitstellung haben, werden bei der Wiederherstellung Daten für alle Organisationen wiederhergestellt. In einer Einrichtung mit mehreren Organisationen wird nur die Wiederherstellung einer bestimmten Organisation nicht unterstützt.

In diesem Thema werden beide Ansätze zum Wiederherstellen fehlgeschlagener Regionen beschrieben:

Fehlgeschlagene Region(en) wiederherstellen

So stellen Sie fehlgeschlagene Regionen aus einer fehlerfreien Region wieder her:

  1. Leiten Sie den API-Traffic von den betroffenen Regionen an die funktionierende Arbeitsregion weiter. Planen Sie die Kapazität entsprechend, um den weitergeleiteten Traffic aus fehlgeschlagenen Regionen zu unterstützen.
  2. Deaktivieren Sie die betroffene Region. Führen Sie für jede betroffene Region die Schritte aus, die unter Hybridregion außer Betrieb nehmen beschrieben werden. Warten Sie, bis die Außerbetriebnahme abgeschlossen ist, bevor Sie fortfahren.

  3. Stellen Sie die betroffene Region wieder her. Erstellen Sie zur Wiederherstellung eine neue Region, wie unter Multiregionale Bereitstellung in GKE, GKE On-Prem und AKS beschrieben.

Aus einer Sicherung wiederherstellen

Die Cassandra-Sicherung kann sich je nach Konfiguration entweder in Cloud Storage oder auf einem Remote-Server befinden. Gehen Sie so vor, um Cassandra aus einer Sicherung wiederherzustellen:

  1. Öffnen Sie die Überschreibungsdatei für die Region, die Sie wiederherstellen möchten.
  2. Setzen Sie cassandra:hostNetwork auf false.
  3. Verwenden Sie apigeectl, um die Überschreibungsdatei anzuwenden:
    $APIGEECTL_HOME/apigeectl apply YOUR_OVERRIDES_FILE.yaml
  4. Bevor Sie fortfahren, prüfen Sie, ob hostNetwork auf false gesetzt ist:
    kubectl -n apigee get apigeeds -o=jsonpath='{.items[].spec.components.cassandra.hostNetwork}'
  5. Löschen Sie Hybrid aus der Region, die Sie wiederherstellen möchten:
    apigeectl delete -f overrides.yaml
  6. Stellen Sie die gewünschte Region aus einer Sicherung wieder her. Weitere Informationen finden Sie unter Region aus einer Sicherung wiederherstellen.

  7. Entfernen Sie die Verweise auf die gelöschten Regionen und fügen Sie die Referenzen der wiederhergestellten Regionen in den KeySpaces-Metadaten hinzu.
  8. Rufen Sie den Namen der Region mit der Option nodetool status ab.
    kubectl exec -n apigee -it apigee-cassandra-default-0 -- bash
          nodetool  -u APIGEE_JMX_USER -pw APIGEE_JMX_PASSWORD status |grep -i Datacenter

    Dabei gilt:

    • APIGEE_JMX_USER ist der Nutzername für den Cassandra JMX-Betriebsnutzer. Wird zur Authentifizierung und Kommunikation mit der Cassandra JMX-Schnittstelle verwendet. Siehe cassandra:auth:jmx:username.
    • APIGEE_JMX_PASSWORD ist das Passwort für den Cassandra JMX-Betriebsnutzer. Siehe cassandra:auth:jmx:password.
  9. Aktualisieren Sie die KeySpaces-Replikation.
    1. Erstellen Sie einen Clientcontainer und stellen Sie über die CQL-Schnittstelle eine Verbindung zum Cassandra-Cluster her.
    2. Rufen Sie die Liste der Nutzerschlüsselbereiche über die CQL-Schnittstelle ab:
      cqlsh CASSANDRA_SEED_HOST -u APIGEE_DDL_USER -p APIGEE_DDL_PASSWORD
            --ssl -e "select keyspace_name from system_schema.keyspaces;"|grep -v system

      Dabei gilt:

      • CASSANDRA_SEED_HOST ist der multiregionale Seed-Host von Cassandra. Verwenden Sie für die meisten multiregionalen Installationen die IP-Adresse eines Hosts in der ersten Region. Weitere Informationen finden Sie unter Apigee Hybrid für mehrere Regionen konfigurieren und cassandra:externalSeedHost.
      • APIGEE_DDL_USER und APIGEE_DDL_PASSWORD sind der Admin-Nutzername und das Admin-Passwort für den Cassandra-DDL-Nutzer (Data Definition Language). Die Standardwerte sind "ddl_user" und "iloveapis123".

        Siehe cassandra.auth.ddl.password in der Referenz zu Konfigurationsattributen und in den Befehlszeilenoptionen in der Dokumentation zu Apache Cassandra cqlsh.

    3. Führen Sie für jeden Schlüsselbereich den folgenden Befehl über die CQL-Schnittstelle aus, um die Replikationseinstellungen zu aktualisieren:
      ALTER KEYSPACE KEYSPACE_NAME WITH replication = {'class': 'NetworkTopologyStrategy', 'REGION_NAME':3};

      Dabei gilt:

      • KEYSPACE_NAME ist der Name des Schlüsselbereichs, der in der Ausgabe des vorherigen Schritts aufgeführt ist.
      • REGION_NAME ist der Name der Region, den Sie in Schritt 4 erhalten haben.