Auf dieser Seite wird das Wiederherstellen von Cassandra in einer einzelnen Region beschrieben.
In einer Einzelregions-Bereitstellung wird Apigee Hybrid in einem einzelnen Rechenzentrum oder einer Region bereitgestellt. Wenn Sie in Ihrer Bereitstellung mehrere Apigee-Organisationen haben, werden bei der Wiederherstellung Daten aller Organisationen wiederhergestellt.
In einer Einrichtung mit mehreren Organisationen können Sie eine bestimmte Organisation nicht wiederherstellen.
Region aus einem Backup wiederherstellen
In Ihrer Konfiguration kann sich die Cassandra-Sicherung entweder in Cloud Storage oder auf einem Remote-Server befinden. Führen Sie in beiden Fällen die folgenden Schritte aus, um wiederherzustellen:
Prüfen Sie die Hybridversion.
apigeectl version
Achten Sie darauf, dass es sich um die Version handelt, mit der die Sicherungsdateien im Speicher erstellt wurden.
Achten Sie darauf, dass der wiederherzustellende Kubernetes-Cluster keine vorherige Apigee-Hybridinstallation hat. Wenn Sie im vorhandenen Cluster wiederherstellen, verwenden Sie folgenden Befehl, um die vorhandene Apigee-Hybridinstallation zu löschen:
apigeectl delete -f overrides.yamlkubectl -n apigee get apigeedatastore,apigeeredis,apigeetelemetry,org,env,arc # The output should be empty.apigeectl delete --all -f overrides.yaml
Öffnen Sie Ihre overrides.yaml-Datei und legen Sie die restore-Attribute auf die gewünschten Werte fest:
Erstellen Sie eine neue Hybrid-Laufzeitbereitstellung. Damit wird ein neuer Cassandra-Cluster erstellt und die Backupdaten werden im Cluster wiederhergestellt:
Prüfen Sie den Fortschritt des Wiederherstellungsjobs und ob apigeeds und alle anderen Pods aktiv sind:
So prüfen Sie apigeeds:
kubectl get apigeeds -n apigee
So prüfen Sie alle anderen Pods:
kubectl get pods -n apigee
Nach Abschluss der Wiederherstellung und der Bestätigung, dass die Laufzeitkomponenten fehlerfrei sind, empfehlen wir, eine Sicherung auf dem Cluster zu konfigurieren:
Entfernen Sie die restore-Konfiguration aus der overrides-restore.yaml-Datei.
Fügen Sie der overrides-restore.yaml-Datei die backup-Konfiguration hinzu.
Wenden Sie die backup-Konfiguration mit diesem Befehl an:
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-28 (UTC)."],[[["\u003cp\u003eThis document guides users through restoring Cassandra in a single-region Apigee hybrid deployment, which applies to restoring data for all organizations in multi-organization setups, as restoring for a specific organization is not supported.\u003c/p\u003e\n"],["\u003cp\u003eBefore restoring, you may need to delete \u003ccode\u003eorg\u003c/code\u003e and \u003ccode\u003eenv\u003c/code\u003e components from the existing Kubernetes cluster while keeping the Apigee controller for troubleshooting, or acquire the overrides files for each organization if dealing with a multi-organization setup.\u003c/p\u003e\n"],["\u003cp\u003eRestoration involves using \u003ccode\u003eapigeectl\u003c/code\u003e commands and modifying the \u003ccode\u003eoverrides.yaml\u003c/code\u003e file to specify backup details, such as the location of the backup on Cloud Storage or a remote server, the snapshot timestamp, and cloud provider details, in which \u003ccode\u003eGCP\u003c/code\u003e or \u003ccode\u003eHYBRID\u003c/code\u003e are required values.\u003c/p\u003e\n"],["\u003cp\u003eThe restoration process includes verifying the hybrid version, ensuring the target Kubernetes cluster is clean, configuring the \u003ccode\u003eoverrides.yaml\u003c/code\u003e with restore parameters, deploying a new hybrid runtime, and then checking that the restoration job has finished successfully.\u003c/p\u003e\n"],["\u003cp\u003eAfter a successful restore, it's recommended to remove the \u003ccode\u003erestore\u003c/code\u003e configuration from the overrides file and configure a backup by adding the \u003ccode\u003ebackup\u003c/code\u003e parameters and applying them using the \u003ccode\u003e./apigeectl apply\u003c/code\u003e command.\u003c/p\u003e\n"]]],[],null,["# Restoring in a single region\n\n| You are currently viewing version 1.8 of the Apigee hybrid documentation. **This version is end of life.** You should upgrade to a newer version. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n\nThis page describes how to restore Cassandra in a single region.\n\nIn a single region deployment, Apigee hybrid is deployed in a single data center or a region. If you\nhave multiple Apigee organizations in your deployment, the restore process restores data for all the organizations.\nIn a multi-organization setup, you cannot restore a specific organization.\n| **Note** : Before you begin restoring a single region, consider whether the following prerequisite steps are applicable:\n|\n| - If you want to preserve an existing setup for troubleshooting and root cause analysis (RCA), you should delete all the `org` and `env` components from the Kubernetes cluster *except* the Apigee controller, and then retain the cluster. The cluster will contain the existing Apigee datastore (Cassandra) which you can use for troubleshooting. Create a new Kubernetes cluster and then restore Cassandra in the new cluster.\n| - If your hybrid installation was set up with multiple organizations, get the overrides files for each organization before proceeding with restore in a single region. You can add the restore configuration as described in [Step 3](#step3) to any **one** of the overrides files. Do not add the restore configuration to any other overrides file.\n\nRestoring a region from a backup\n--------------------------------\n\nIn your configuration, the Cassandra backup can reside either on Cloud Storage or\non a remote server. In either case, perform the following steps to restore:\n\n1. Verify the hybrid version. \n\n ```\n apigeectl version\n ```\n Ensure the version is the same version that created the backup files in storage. **Tip:** Run every `apigeectl` command with the `--dry-run=true` flag first to check for any apigeectl errors.\n2. Confirm that the Kubernetes cluster you are restoring to does not have a prior Apigee hybrid installation. If you are restoring to the existing cluster, use the following commands to delete the existing Apigee hybrid installation: \n\n apigeectl delete -f overrides.yaml\n kubectl -n apigee get apigeedatastore,apigeeredis,apigeetelemetry,org,env,arc # The output should be empty.\n apigeectl delete --all -f overrides.yaml\n\n3. Open your `overrides.yaml` file and set the `restore` properties to the desired values: \n\n ### Cloud Storage\n\n ### Parameters\n\n ```actionscript-3\n namespace: YOUR_RESTORE_NAMESPACE # Use the namespace as in your original cluster.\n cassandra:\n hostNetwork: false\n ...\n restore:\n enabled: true\n serviceAccountPath: \"\u003cvar translate=\"no\"\u003eSA_JSON_FILE_PATH\u003c/var\u003e\"\n dbStorageBucket: \"\u003cvar translate=\"no\"\u003eCLOUD_STORAGE_BUCKET_PATH\u003c/var\u003e\"\n cloudProvider: \"GCP\" # required verbatim \"GCP\" (all caps)\n snapshotTimestamp: \"\u003cvar translate=\"no\"\u003eTIMESTAMP\u003c/var\u003e\"\n ...\n backup:\n enabled: true\n serviceAccountPath: \"\u003cvar translate=\"no\"\u003eSA_JSON_FILE_PATH\u003c/var\u003e\"\n dbStorageBucket: \"\u003cvar translate=\"no\"\u003eCLOUD_STORAGE_BUCKET_PATH\u003c/var\u003e\"\n cloudProvider: \"GCP\" # required verbatim \"GCP\" (all caps)\n schedule: \"\u003cvar translate=\"no\"\u003eSCHEDULE\u003c/var\u003e\"\n ```\n\n ### Example\n\n ```actionscript-3\n namespace: apigee\n cassandra:\n hostNetwork: false\n ...\n restore:\n enabled: true\n serviceAccountPath: \"/Users/myhome/.ssh/my_cassandra_backup.json\"\n dbStorageBucket: \"gs://myname-cassandra-backup\"\n cloudProvider: \"GCP\"\n snapshotTimestamp: \"20201001183903\"\n ...\n backup:\n enabled: true\n serviceAccountPath: \"/Users/myhome/.ssh/my_cassandra_backup.json\"\n dbStorageBucket: \"gs://myname-cassandra-backup\"\n cloudProvider: \"GCP\"\n schedule: \"0 2 * * *\"\n ...\n ```\n\n\n Where:\n\n ### Non-Cloud Storage\n\n ### Parameters\n\n ```scdoc\n namespace: YOUR_RESTORE_NAMESPACE # Use the namespace as in your original cluster.\n cassandra:\n hostNetwork: false\n ...\n restore:\n enabled: true\n keyFile: \"PATH_TO_PRIVATE_KEY_FILE\"\n server: \"BACKUP_SERVER_IP\"\n storageDirectory: \"/home/apigee/BACKUP_DIRECTORY\"\n cloudProvider: \"HYBRID\" # required verbatim \"HYBRID\" (all caps)\n snapshotTimestamp: \"TIMESTAMP\"\n ...\n backup:\n enabled: true\n keyFile: \"PATH_TO_PRIVATE_KEY_FILE\"\n server: \"BACKUP_SERVER_IP\"\n storageDirectory: \"/home/apigee/BACKUP_DIRECTORY\"\n cloudProvider: \"HYBRID\" # required verbatim \"HYBRID\" (all caps)\n schedule: \"SCHEDULE\"\n \n ```\n\n ### Example\n\n ```scdoc\n namespace: apigee\n cassandra:\n hostNetwork: false\n ...\n restore:\n enabled: true\n keyFile: \"/Users/exampleuser/apigee-hybrid/hybrid-files/service-accounts/private.key\"\n server: \"34.56.78.90\"\n storageDirectory: \"/home/apigee/cassbackup\"\n cloudProvider: \"HYBRID\"\n snapshotTimestamp: \"20201001183903\"\n ...\n backup:\n enabled: true\n keyFile: \"/Users/exampleuser/apigee-hybrid/hybrid-files/service-accounts/private.key\"\n server: \"34.56.78.90\"\n storageDirectory: \"/home/apigee/cassbackup\"\n cloudProvider: \"HYBRID\"\n schedule: \"0 2 * * *\"\n ...\n ```\n\n\n Where:\n\n | **Note:** Apigee restores Cassandra from a Cloud Storage backup or a remote server backup based on the `backup` configuration in the `overrides.yaml` file.\n4. Create a new hybrid runtime deployment. This will create a new Cassandra cluster and begin restoring the backup data into the cluster: \n\n ```\n ${APIGEECTL_HOME}/apigeectl init -f overrides/overrides.yaml\n ``` \n\n ```\n ${APIGEECTL_HOME}/apigeectl check-ready -f overrides/overrides.yaml\n ``` \n\n ```\n ${APIGEECTL_HOME}/apigeectl apply -f overrides/overrides.yaml --restore\n ``` \n\n ```\n ${APIGEECTL_HOME}/apigeectl check-ready -f overrides/overrides.yaml\n ```\n5. Verify the restoration job progress and confirm that `apigeeds` and all the other pods are up:\n - To check `apigeeds`: \n\n ```\n kubectl get apigeeds -n apigee\n ```\n - To check all other pods: \n\n ```\n kubectl get pods -n apigee\n ```\n\nUpon successful completion of the restore and confirmation that the runtime components are healthy,\nwe recommend configuring a backup on the cluster:\n\n1. Remove the `restore` configuration from the `overrides-restore.yaml` file.\n2. Add the `backup` configuration to the `overrides-restore.yaml` file.\n3. Apply the `backup` configuration with the following command: \n\n ```\n ./apigeectl apply -f ../overrides-restore.yaml\n ```"]]