Halaman ini memberikan ringkasan tentang cara memulihkan Cassandra di Apigee hybrid.
Mengapa menggunakan pemulihan?
Anda dapat menggunakan cadangan untuk memulihkan infrastruktur Apigee dari awal jika terjadi
kegagalan besar, seperti kehilangan data yang tidak dapat dipulihkan di instance hybrid Apigee Anda akibat bencana.
Pemulihan mengambil data Anda dari lokasi cadangan dan memulihkan data ke cluster Cassandra baru dengan jumlah node yang sama. Tidak ada data cluster yang diambil dari cluster Cassandra lama.
Tujuan proses pemulihan adalah mengembalikan penginstalan campuran Apigee ke
status operasional sebelumnya menggunakan data cadangan dari snapshot.
Penggunaan cadangan untuk memulihkan tidak direkomendasikan untuk skenario berikut:
Kegagalan node Cassandra.
Penghapusan data yang tidak disengaja seperti apps, developers, dan api_credentials.
Satu atau beberapa region mengalami gangguan dalam deployment hybrid multi-region.
Deployment Cassandra Apigee dan arsitektur operasional menangani redundansi dan fault tolerance untuk satu region.
Pada umumnya, penerapan produksi multi-region hybrid yang direkomendasikan berarti kegagalan region dapat dipulihkan dari
region aktif lainnya menggunakan prosedur penghentian dan perluasan region,
bukan memulihkan dari cadangan.
Sebelum Anda mulai menerapkan pemulihan dari cadangan Cassandra, perhatikan hal-hal berikut:
Periode nonaktif: Akan ada periode nonaktif selama durasi pemulihan.
Kehilangan data: Akan ada kehilangan data antara pencadangan terakhir yang valid dan waktu
pemulihan selesai.
Waktu pemulihan: Waktu pemulihan bergantung pada ukuran data dan cluster.
Memilih data tertentu: Anda tidak dapat memilih hanya data tertentu untuk dipulihkan. Pemulihan
akan memulihkan seluruh cadangan yang Anda pilih.
Pemulihan multi-region
Jika menginstal Apigee hybrid ke beberapa region, Anda harus memeriksa file penggantian untuk region yang dipulihkan untuk memastikan cassandra:hostNetwork ditetapkan ke false sebelum melakukan pemulihan. Untuk mengetahui informasi selengkapnya, lihat
Memulihkan di beberapa region.
Prasyarat
Pastikan semua prasyarat berikut berhasil. Selidiki kegagalan prasyarat sebelum melanjutkan pemulihan.
Pastikan semua pod Cassandra sudah aktif dan berjalan dengan perintah berikut.
kubectl get pods -n APIGEE_NAMESPACE -l app=apigee-cassandra
Output Anda akan terlihat seperti contoh berikut:
NAME READY STATUS RESTARTS AGE
apigee-cassandra-default-0 1/1 Running 0 14m
apigee-cassandra-default-1 1/1 Running 0 13m
apigee-cassandra-default-2 1/1 Running 0 11m
exampleuser@example hybrid-files %
Pastikan statefulset Cassandra menampilkan semua pod yang berjalan dengan perintah berikut.
kubectl get sts -n APIGEE_NAMESPACE -l app=apigee-cassandra
Output Anda akan terlihat seperti contoh berikut:
NAME READY AGE
apigee-cassandra-default 3/3 15m
Pastikan resource ApigeeDatastore dalam status berjalan dengan perintah berikut.
kubectl get apigeeds -n APIGEE_NAMESPACE
Output Anda akan terlihat seperti contoh berikut:
NAME STATE AGE
default running 16m
Pastikan semua PVC Cassandra dalam status Terikat dengan perintah berikut.
kubectl get pvc -n APIGEE_NAMESPACE -l app=apigee-cassandra
Output Anda akan terlihat seperti contoh berikut:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
cassandra-data-apigee-cassandra-default-0 Bound pvc-a14184e7-8745-4b30-8069-9d50642efe04 10Gi RWO standard-rwo 17m
cassandra-data-apigee-cassandra-default-1 Bound pvc-ed129dcb-4706-4bad-a692-ac7c78bad64d 10Gi RWO standard-rwo 15m
cassandra-data-apigee-cassandra-default-2 Bound pvc-faed0ad1-9019-4def-adcd-05e7e8bb8279 10Gi RWO standard-rwo 13m
Pastikan semua PV Cassandra dalam status Terikat dengan perintah berikut.
Pastikan resource Apigee Controller dalam status Berjalan dengan perintah berikut.
kubectl get pods -n APIGEE_NAMESPACE-system -l app=apigee-controller
Output Anda akan terlihat seperti contoh berikut:
NAME READY STATUS RESTARTS AGE
apigee-controller-manager-856d9bb7cb-cfvd7 2/2 Running 0 20m
Bagaimana cara memulihkan?
Langkah-langkah pemulihan Cassandra sedikit berbeda, bergantung pada apakah hybrid Apigee Anda di-deploy di satu region atau beberapa region. Untuk mengetahui langkah-langkah pemulihan yang mendetail,
lihat dokumentasi berikut:
[[["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-08-21 UTC."],[[["\u003cp\u003eRestoration of Cassandra in Apigee hybrid is used to recover from catastrophic failures by restoring data from backups to a new cluster, bringing the system back to a previously operational state.\u003c/p\u003e\n"],["\u003cp\u003eRestoration from backups is not recommended for common issues like node failures, accidental data deletion, or region outages in multi-region setups, as Apigee's architecture handles these scenarios.\u003c/p\u003e\n"],["\u003cp\u003ePerforming a restore involves downtime and potential data loss between the last backup and the completion of the restoration, and it will restore the entire backup, not specific data.\u003c/p\u003e\n"],["\u003cp\u003ePrior to starting the restoration process, it is required to verify that the Cassandra pods, statefulset, ApigeeDatastore, PVCs, PVs, and Apigee Controller are all in the correct status.\u003c/p\u003e\n"],["\u003cp\u003eRestoration steps differ between single and multi-region deployments, and it is crucial to use a backup file that matches the hybrid installation version to ensure compatibility.\u003c/p\u003e\n"]]],[],null,["# Cassandra restore overview\n\n| You are currently viewing version 1.13 of the Apigee hybrid documentation. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n\nThis page provides an overview of restoring Cassandra in Apigee hybrid.\n\nWhy use restore?\n----------------\n\nYou can use [backups](/apigee/docs/hybrid/v1.13/cassandra-backup-overview) to restore Apigee infrastructure from the ground up in the event of\ncatastrophic failures, such as irrecoverable data loss in your Apigee hybrid instance from a disaster.\nRestoration takes your data from the backup location and restores the data into a new Cassandra\ncluster with the same number of nodes. No cluster data is taken from the old Cassandra cluster.\nThe goal of the restoration process is to bring an Apigee hybrid installation back to a\npreviously operational state using backup data from a snapshot.\n\nThe use of backups to restore is not recommended for the following scenarios:\n\n- Cassandra node failures.\n- Accidental deletion of data like `apps`, `developers`, and `api_credentials`.\n- One or more regions going down in a multi-region hybrid deployment.\n\nApigee Cassandra deployments and operational architecture take care of redundancy and fault tolerance for a single region.\nIn most cases, the recommended multi-region production implementation of hybrid means that a region failure can be recovered from\nanother live region using [region decommissioning and expansion procedures]()\ninstead of restoring from a backup.\n\nBefore you begin implementing a restore from a Cassandra backup, be aware of the following:\n\n- **Downtime:** There will be downtime for the duration of the restoration.\n- **Data loss:** There will be data loss between the last valid backup and the time the restoration is complete.\n- **Restoration time:** Restoration time depends on the size of the data and cluster.\n- **Cherry-picking data:** You cannot select only specific data to restore. Restoration restores the entire backup you select.\n\n| **Note:** When restoring an Apigee hybrid installation from backup, ensure that the backup file is created from the same hybrid version as the installation. For example, if you have a backup file created from Apigee hybrid 1.5.x, use it to restore only an Apigee hybrid 1.5.x installation. If there is a version mismatch between the backup file and the hybrid installation, the restoration might not work and Apigee does not support any issues that arise because of such restoration.\n\nMulti-region restores\n---------------------\n\nIf you installed Apigee hybrid into multiple regions, you must check the overrides file\nfor the region you are restoring to make sure the `cassandra:hostNetwork` is set\nto `false` before you perform the restoration. For more information, see\n[Restoring in multiple regions](./restore-cassandra-multi-region).\n\nPrerequisites\n-------------\n\n\nCheck all the following prerequisites are successful. Investigate any prerequisite failures before\nproceeding with restoration.\n\n1. Verify all Cassandra pods are up and running with the following command. \n\n ```\n kubectl get pods -n APIGEE_NAMESPACE -l app=apigee-cassandra\n ```\n\n\n Your output should look something like the following example: \n\n ```\n NAME READY STATUS RESTARTS AGE\n apigee-cassandra-default-0 1/1 Running 0 14m\n apigee-cassandra-default-1 1/1 Running 0 13m\n apigee-cassandra-default-2 1/1 Running 0 11m\n exampleuser@example hybrid-files %\n \n ```\n2. Verify the Cassandra statefulset shows all pods are running with the following command. \n\n ```\n kubectl get sts -n APIGEE_NAMESPACE -l app=apigee-cassandra\n ```\n\n\n Your output should look something like the following example: \n\n ```\n NAME READY AGE\n apigee-cassandra-default 3/3 15m\n \n ```\n3. Verify the ApigeeDatastore resource is in a *running* state with the following command. \n\n ```\n kubectl get apigeeds -n APIGEE_NAMESPACE\n ```\n\n\n Your output should look something like the following example: \n\n ```\n NAME STATE AGE\n default running 16m\n \n ```\n4. Verify all Cassandra PVCs are in *Bound* status with the following command. \n\n ```\n kubectl get pvc -n APIGEE_NAMESPACE -l app=apigee-cassandra\n ```\n\n\n Your output should look something like the following example: \n\n ```\n NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE\n cassandra-data-apigee-cassandra-default-0 Bound pvc-a14184e7-8745-4b30-8069-9d50642efe04 10Gi RWO standard-rwo 17m\n cassandra-data-apigee-cassandra-default-1 Bound pvc-ed129dcb-4706-4bad-a692-ac7c78bad64d 10Gi RWO standard-rwo 15m\n cassandra-data-apigee-cassandra-default-2 Bound pvc-faed0ad1-9019-4def-adcd-05e7e8bb8279 10Gi RWO standard-rwo 13m\n \n ```\n5. Verify all Cassandra PVs are in Bound status with the following command. \n\n ```\n kubectl get pv -n APIGEE_NAMESPACE\n ```\n\n\n Your output should look something like the following example: \n\n ```\n NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE\n pvc-a14184e7-8745-4b30-8069-9d50642efe04 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-0 standard-rwo 17m\n pvc-ed129dcb-4706-4bad-a692-ac7c78bad64d 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-1 standard-rwo 16m\n pvc-faed0ad1-9019-4def-adcd-05e7e8bb8279 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-2 standard-rwo 14m\n \n ```\n6. Verify the Apigee Controller resource is in Running status with the following command. \n\n ```\n kubectl get pods -n APIGEE_NAMESPACE-system -l app=apigee-controller\n ```\n\n\n Your output should look something like the following example: \n\n ```\n NAME READY STATUS RESTARTS AGE\n apigee-controller-manager-856d9bb7cb-cfvd7 2/2 Running 0 20m\n \n ```\n\nHow to restore?\n---------------\n\nCassandra's restoration steps differ slightly depending on whether your Apigee hybrid is\ndeployed in a single region or multiple regions. For the detailed restoration steps,\nsee the following documentation:\n\n- [Restoring in a single region](/apigee/docs/hybrid/v1.13/restore-cassandra-single-region)\n- [Restoring in a multi-region](/apigee/docs/hybrid/v1.13/restore-cassandra-multi-region)"]]