Halaman ini menjelaskan cara memulihkan Cassandra di satu region.
Dalam deployment region tunggal, Apigee hybrid di-deploy di satu pusat data atau region. Jika Anda memiliki beberapa organisasi Apigee dalam deployment, proses pemulihan akan memulihkan data untuk semua organisasi.
Dalam penyiapan multi-organisasi, Anda tidak dapat memulihkan organisasi tertentu.
Memulihkan region dari cadangan
Dalam konfigurasi Anda, cadangan Cassandra dapat berada di Cloud Storage atau di server jarak jauh. Dalam kedua kasus tersebut, lakukan langkah-langkah berikut untuk memulihkan:
Verifikasi versi campuran.
apigeectl version
Pastikan versinya sama dengan versi yang membuat file cadangan di penyimpanan.
Pastikan cluster Kubernetes tempat Anda melakukan pemulihan tidak memiliki penginstalan hibrida Apigee sebelumnya. Jika
Anda memulihkan ke cluster yang ada, gunakan perintah berikut untuk menghapus penginstalan hibrida
Apigee yang ada:
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
Buka file overrides.yaml dan tetapkan
properti restore ke nilai yang diinginkan:
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-04 UTC."],[[["\u003cp\u003eThis document guides users through restoring Cassandra data in an Apigee hybrid single-region deployment, which involves restoring data for all organizations within that deployment.\u003c/p\u003e\n"],["\u003cp\u003eBefore starting the restore, users should verify the Apigee hybrid version and ensure the target Kubernetes cluster is free of any previous Apigee hybrid installations, or delete any prior installation.\u003c/p\u003e\n"],["\u003cp\u003eThe restore process involves enabling restore settings and configuring connection details, such as cloud storage paths or remote server credentials, in the \u003ccode\u003eoverrides.yaml\u003c/code\u003e file.\u003c/p\u003e\n"],["\u003cp\u003eThe restore process can use either a cloud storage bucket, or a remote server, each requiring different parameters in the configuration file, but both require a \u003ccode\u003esnapshotTimestamp\u003c/code\u003e to identify the specific backup version to be restored.\u003c/p\u003e\n"],["\u003cp\u003eAfter successfully restoring, users should remove the restore configurations from the overrides file and apply the backup configuration to ensure ongoing data protection.\u003c/p\u003e\n"]]],[],null,["# Restoring in a single region\n\n| You are currently viewing version 1.9 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 ...\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 ```"]]