In mehreren Regionen wiederherstellen

Auf dieser Seite wird das Wiederherstellen von Cassandra in mehreren Regionen beschrieben.

In einer multiregionalen Bereitstellung wird Apigee Hybrid an mehreren geografischen Standorten in verschiedenen Rechenzentren bereitgestellt. 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.

Cassandra wiederherstellen

In einer Bereitstellung mit mehreren Regionen gibt es zwei Möglichkeiten, eine fehlgeschlagene Region zu speichern. In diesem Thema werden folgende Ansätze 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. Löschen Sie die Apigee Hybrid-Bereitstellung aus allen Regionen:
    apigeectl delete -f overrides.yaml
  2. Stellen Sie die gewünschte Region aus einer Sicherung wieder her. Weitere Informationen finden Sie unter Region aus einer Sicherung wiederherstellen.

  3. Entfernen Sie die Verweise auf die gelöschten Regionen und fügen Sie die Referenzen der wiederhergestellten Regionen in den KeySpaces-Metadaten hinzu.
  4. 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.
  5. 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.