PolarSearch memungkinkan Anda menggunakan fitur snapshot untuk mencadangkan data indeks dari kluster ke bucket Object Storage Service (OSS) milik Anda atau memulihkan data dari bucket OSS. Fitur ini dapat digunakan untuk migrasi data lintas kluster serta backup dan pemulihan kustom untuk kluster PolarSearch, sehingga menyediakan solusi yang fleksibel dan berbiaya rendah untuk perlindungan dan transfer data.
Fitur ini saat ini dalam masa pratinjau. Untuk menggunakannya, submit a ticket untuk mengaktifkannya.
Prasyarat
-
Versi PolarSearch Anda harus 3.0.0.0.0 atau lebih baru.
CatatanAnda dapat mengakses PolarSearch melalui search endpoint untuk memeriksa versi PolarSearch Anda pada bidang
version.number. Anda telah mengaktifkan Alibaba Cloud Object Storage Service (OSS) dan membuat sebuah bucket untuk menyimpan snapshot.
-
Diperlukan pengguna RAM dengan kebijakan
AliyunOSSFullAccessyang telah ditautkan. Untuk informasi selengkapnya, lihat Add permissions to a RAM user.
Penagihan
Fitur snapshot gratis. Penyimpanan file snapshot di bucket OSS Anda dikenai biaya penyimpanan dan permintaan. Untuk informasi selengkapnya, lihat OSS billing overview.
Daftarkan repositori snapshot
Sebelum menggunakan fitur snapshot, Anda harus mendaftarkan repositori snapshot dan mengaitkannya dengan bucket OSS Anda. Gunakan API berikut untuk membuat repositori:
PUT /_snapshot/{repo-name}
{
"type": "oss",
"settings": {
"endpoint": "{endpoint}",
"bucket": "{bucket-name}",
"base_path": "{path-name}",
"region": "{region}",
"access_key": "{your-AccessKey-ID}",
"secret_key": "{your-AccessKey-Secret}",
"session_token": "{your-STS-Token}",
"compress": true,
"chunk_size": "512mb"
}
}
Deskripsi parameter
Parameter | Deskripsi |
| Nama kustom untuk repositori. |
|
Jenis repositori. Nilai ini harus diatur ke |
| Titik akhir untuk bucket OSS Anda. Untuk informasi selengkapnya, lihat Regions and Endpoints. |
| Nama bucket OSS Anda. |
| (Opsional) Direktori root di bucket OSS tempat file snapshot disimpan. |
| Wilayah tempat bucket berada. |
|
|
ID AccessKey Anda. |
|
|
AccessKey Secret Anda. |
|
|
(Opsional) STS Token untuk Peran RAM Anda. Penting
Jika Anda menggunakan STS Token, Anda juga harus mengatur parameter |
|
|
(Opsional) Menentukan apakah metadata snapshot seperti pemetaan dan pengaturan indeks dikompresi. Parameter ini tidak memengaruhi file data. Nilai default adalah false. |
|
|
(Opsional) Batas ukuran untuk unggahan terpotong selama proses snapshot. Data yang lebih besar dari ukuran ini diunggah ke OSS dalam bentuk chunk. Nilai default adalah 1 GB. |
Contoh
Ganti parameter dalam perintah berikut dengan informasi Anda sendiri.
curl -X PUT "https://{pc-endpoint}:3001/_snapshot/{repo-name}" \
-u "{username}:{passwd}" \
-H "Content-Type: application/json" \
-d '{
"type": "oss",
"settings": {
"endpoint": "{endpoint}",
"bucket": "{bucket-name}",
"base_path": "{path-name}",
"region": "{region}",
"access_key": "{your-AccessKey-ID}",
"secret_key": "{your-AccessKey-Secret}"
}
}'
Buat snapshot: backup data ke OSS
Setelah mendaftarkan repositori snapshot, buat snapshot untuk indeks tertentu menggunakan API berikut:
PUT /_snapshot/{repo-name}/{snapshot-name}?wait_for_completion=true
{
"indices": "{index-name}",
"ignore_unavailable":false
}
Deskripsi parameter
Kategori parameter | Nama parameter | Deskripsi |
Parameter permintaan |
| Menentukan apakah perlu menunggu hingga operasi snapshot selesai. Nilai default adalah
|
Parameter isi permintaan |
| Indeks yang akan dibackup. Anda dapat menggunakan karakter wildcard ( Catatan Penggunaan karakter wildcard ( |
| Menentukan apakah indeks yang tidak ada diabaikan dan proses snapshot dilanjutkan. Nilai default adalah | |
| Menentukan apakah snapshot parsial diizinkan. Jika diatur ke |
Contoh
Ganti parameter dalam perintah berikut dengan informasi Anda sendiri.
curl -X PUT "https://{pc-endpoint}:3001/_snapshot/{repo-name}/{snapshot-name}?wait_for_completion=true" \
-u "{username}:{passwd}" \
-H "Content-Type: application/json" \
-d '{
"indices": "{index-name}",
"ignore_unavailable": false
}'
Lihat snapshot
Gunakan API berikut untuk melihat informasi tentang semua snapshot di repositori snapshot OSS Anda:
GET /_snapshot/{repo-name}/_all?prettyContoh
Ganti parameter dalam perintah berikut dengan informasi Anda sendiri.
curl -X GET "https://{pc-endpoint}:3001/_snapshot/{repo-name}/_all?pretty" -u "{username}:{passwd}"Pulihkan data
Jalankan perintah berikut untuk memulihkan data indeks dari snapshot tertentu:
Untuk memulihkan snapshot dari kluster PolarSearch ke kluster PolarSearch lain, kluster PolarSearch tujuan harus mendaftarkan snapshot repository yang sama dengan kluster PolarSearch sumber. Jika pemulihan dilakukan dalam kluster PolarSearch yang sama, Anda tidak perlu mendaftar ulang dan dapat langsung menjalankan pemulihan data.
POST /_snapshot/{repo-name}/{snapshot-name}/_restore?wait_for_completion=true
{
"indices": "{index-name}",
"ignore_unavailable": true
}
Parameter
Kategori parameter | Nama parameter | Deskripsi |
Parameter permintaan |
| Menentukan apakah perlu menunggu hingga pemulihan snapshot selesai. Nilai default adalah
|
Parameter isi permintaan |
| Menentukan indeks yang akan dipulihkan. Karakter wildcard |
| Menentukan apakah indeks yang tidak ada diabaikan dan pembuatan snapshot dilanjutkan. Nilai default adalah | |
| Menentukan apakah snapshot parsial dibuat. Jika diatur ke | |
| Mengganti pengaturan indeks dari snapshot selama pemulihan. Misalnya, Anda dapat mengubah jumlah replika agar sesuai dengan konfigurasi kluster tujuan. | |
| Daftar pengaturan indeks yang diabaikan selama pemulihan. Biasanya digunakan untuk mengabaikan pengaturan yang spesifik untuk kluster sumber. |
Contoh
Ganti parameter dalam perintah berikut dengan informasi Anda sendiri.
curl -X POST "https://{pc-endpoint}:3001/_snapshot/{repo-name}/{snapshot-name}/_restore?wait_for_completion=true" \
-u "{username}:{passwd}" \
-H "Content-Type: application/json" \
-d '{
"indices": "{index-name}",
"ignore_unavailable": true
}'