全部产品
Search
文档中心

Elasticsearch:Menggunakan kembali informasi pengguna dan visualisasi di seluruh kluster Elasticsearch

更新时间:Jul 06, 2025

Untuk menggunakan kembali informasi pengguna seperti peran yang ditetapkan kepada pengguna atau informasi visualisasi dari kluster Elasticsearch sumber ke kluster tujuan, Anda dapat membuat snapshot manual untuk mencadangkan informasi tersebut dan memulihkannya ke kluster tujuan.

Prasyarat

  • Object Storage Service (OSS) telah diaktifkan. Bucket OSS dengan kelas penyimpanan Standar telah dibuat. Untuk informasi lebih lanjut, lihat Aktifkan OSS dan Buat Bucket.

  • Dua kluster Elasticsearch Alibaba Cloud telah dibuat di wilayah tempat Bucket OSS berada. Satu kluster digunakan sebagai kluster sumber, dan yang lainnya sebagai kluster tujuan. Untuk informasi tentang kompatibilitas antara versi kluster Elasticsearch dalam hal pemulihan data dari snapshot, lihat Kompatibilitas Indeks.

    Catatan
    • Operasi untuk memulihkan data dari snapshot yang dibuat untuk kluster Elasticsearch V8.X berbeda dari operasi untuk kluster Elasticsearch V7.X. Topik ini menjelaskan cara memulihkan data dari snapshot yang dibuat untuk kluster Elasticsearch V7.10 ke kluster lain V7.10 serta dari kluster Elasticsearch V8.5 ke kluster lain V8.5.

    • Untuk informasi mengenai kompatibilitas antar kluster Elasticsearch versi berbeda dalam pemulihan data dari snapshot, lihat Kompatibilitas indeks.

Peringatan

  • Anda dapat menjalankan kode yang disediakan dalam topik ini di konsol Kibana kluster Elasticsearch Anda.

  • API _features hanya dapat digunakan untuk mencadangkan dan memulihkan indeks sistem serta aliran data sistem pada kluster Elasticsearch versi 8.0 dan yang lebih baru. Untuk informasi lebih lanjut tentang API _features, lihat Snapshot dan Restore.

Menggunakan kembali informasi pengguna termasuk peran yang ditetapkan kepada pengguna dalam kluster sumber untuk kluster tujuan

Langkah 1: Persiapkan lingkungan

  1. Masuk ke konsol Kibana kluster Elasticsearch sumber. Untuk informasi lebih lanjut, lihat Masuk ke Konsol Kibana.

  2. Buat peran bernama cj_test_role dan pengguna bernama kara di kluster Elasticsearch sumber, lalu tetapkan peran cj_test_role kepada pengguna kara. Untuk informasi lebih lanjut, lihat Gunakan Mekanisme RBAC yang Disediakan oleh Elasticsearch X-Pack untuk Mengimplementasikan Kontrol Akses.

Langkah 2: Buat snapshot untuk mencadangkan data di kluster Elasticsearch sumber

  1. Masuk ke konsol Kibana kluster Elasticsearch sumber. Untuk informasi lebih lanjut, lihat Masuk ke Konsol Kibana.

  2. Buat repositori bernama my_backup di kluster Elasticsearch sumber.

    • Buat repositori untuk kluster di cloud.

      PUT _snapshot/my_backup/
      {
          "type": "oss",
          "settings": {
              "endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com",
              "access_key_id": "xxxx",
              "secret_access_key": "xxxxxx",
              "bucket": "xxxxxx",
              "compress": true,
              "chunk_size": "500mb",
              "base_path": "snapshot/"
          }
      }
    • Buat repositori untuk kluster mandiri V8.X. Dalam hal ini, Anda harus menginstal plug-in elasticsearch-repository-oss pada kluster. Untuk informasi lebih lanjut, lihat Instal Plug-in elasticsearch-repository-oss.

      Catatan

      Untuk informasi lebih lanjut tentang plug-in, lihat elasticsearch-repository-oss.

      PUT /_snapshot/my_backup
      {
          "type": "oss",
          "settings": {
              "oss.client.endpoint": "oss-cn-shanghai.aliyuncs.com",
              "oss.client.access_key_id": "xxx",
              "oss.client.secret_access_key": "xxx",
              "oss.client.bucket": "xxxxxx",
              "oss.client.base_path":"snapshot/",
              "oss.client.compress": true
          }
      }

    Parameter

    Deskripsi

    Titik akhir

    Titik akhir internal Bucket OSS. Untuk informasi lebih lanjut tentang cara mendapatkan titik akhir, lihat Wilayah dan titik akhir.

    ID AccessKey

    ID AccessKey akun Anda. Untuk informasi lebih lanjut tentang cara mendapatkan ID AccessKey, lihat Dapatkan pasangan AccessKey.

    secret_access_key

    Rahasia AccessKey akun Anda. Untuk informasi lebih lanjut tentang cara mendapatkan Rahasia AccessKey, lihat Dapatkan pasangan AccessKey.

    Bucket

    Nama Bucket OSS. Untuk informasi lebih lanjut tentang cara mendapatkan nama, lihat Buat bucket.

    Kompres

    Menentukan apakah akan mengaktifkan fitur kompresi data untuk snapshot. Nilai valid:

    • true: mengaktifkan fitur kompresi data untuk snapshot. Fitur ini hanya berlaku untuk metadata indeks, termasuk pemetaan dan pengaturan indeks.

    • false: menonaktifkan fitur kompresi data untuk snapshot. Nilai default adalah false.

    Ukuran chunk

    Jika Anda ingin mengunggah volume data besar ke Bucket OSS, Anda dapat mengunggah data dalam beberapa bagian. Dalam hal ini, Anda dapat menggunakan parameter ini untuk menetapkan ukuran setiap bagian. Jika ukuran sebuah bagian mencapai nilai parameter ini, data berlebih didistribusikan ke bagian lain.

    Jalur dasar

    Lokasi awal repositori. Nilai default adalah direktori root. Anda dapat menentukan direktori tempat snapshot tertentu disimpan. Contoh: snapshot/myindex/.

  3. Buat snapshot untuk kluster Elasticsearch sumber.

    • Jika kluster Elasticsearch sumber adalah V7.10, jalankan perintah berikut untuk membuat snapshot bernama snapshot_1 untuk kluster tersebut.

      Catatan

      Informasi pengguna seperti peran yang ditetapkan kepada pengguna dalam kluster Elasticsearch V7.10 dikelola menggunakan indeks sistem .kibana* dan .security*.

      Untuk informasi tentang parameter dalam perintah yang digunakan untuk membuat snapshot untuk kluster Elasticsearch V7.10, lihat API Restore Snapshot.

      PUT _snapshot/my_backup/snapshot_1
      {
       "indices": ".kibana*,.security*",
       "ignore_unavailable": true,
       "include_global_state": true
      }
    • Jika kluster Elasticsearch sumber adalah V8.5, jalankan perintah berikut untuk membuat snapshot bernama snapshot_1 untuk indeks yang menyimpan informasi pengguna seperti peran yang ditetapkan kepada pengguna dalam kluster tersebut.

      Catatan

      Untuk informasi tentang parameter dalam perintah yang digunakan untuk membuat snapshot untuk kluster Elasticsearch V8.5, lihat API Create Snapshot.

      PUT _snapshot/my_backup/snapshot_1
      {
       "indices": "-*",
       "ignore_unavailable": true,
       "include_global_state": true,
       "feature_states": [
       "security"
       ]
      }
  4. Periksa apakah snapshot berhasil dibuat. Misalnya, Anda dapat menjalankan perintah berikut untuk menanyakan detail snapshot snapshot_1 di repositori my_backup.

    GET _snapshot/my_backup/snapshot_1

Langkah 3: Pulihkan data dari snapshot

  1. Masuk ke konsol Kibana kluster Elasticsearch tujuan. Untuk informasi lebih lanjut, lihat Masuk ke Konsol Kibana.

  2. Buat repositori bernama my_restore di kluster Elasticsearch tujuan.

    PUT _snapshot/my_restore
    {
     "type": "oss",
     "settings": {
     "endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com",
     "access_key_id": "[your_access_key_id]",
     "secret_access_key": "[your_secret_access_key]",
     "bucket": "[your_bucket_name]",
     "compress": true,
     "chunk_size": "500mb",
     "base_path": "snapshot/"
     }
    }
  3. Pulihkan data dari snapshot yang dibuat untuk kluster Elasticsearch sumber ke kluster Elasticsearch tujuan.

    • Jika kluster Elasticsearch sumber adalah V7.10, lakukan operasi berikut untuk memulihkan data dari snapshot yang dibuat untuk kluster tersebut.

      Catatan

      Jika Anda ingin memulihkan data dari snapshot yang dibuat untuk kluster Elasticsearch V7.10 atau sebelumnya ke kluster Elasticsearch tujuan, Anda harus menonaktifkan indeks sistem .kibana* dan .security* di kluster Elasticsearch tujuan. Setelah data dipulihkan dari snapshot, Anda harus mengaktifkan indeks ini sesegera mungkin.

      • Menonaktifkan indeks sistem dapat menyebabkan fitur-fitur kluster Elasticsearch tidak tersedia atau terbatas. Misalnya, penonaktifan indeks sistem .kibana* dapat menyebabkan konsol Kibana tidak tersedia, dan penonaktifan indeks sistem .security* dapat memengaruhi keamanan data kluster Elasticsearch.

      • Kami menyarankan Anda untuk mencadangkan data di indeks sistem ini terlebih dahulu. Dengan cara ini, Anda dapat memulihkan data jika diperlukan.

      • Kami menyarankan Anda untuk menonaktifkan indeks ini di kluster Elasticsearch tujuan selama jam-jam sepi atau ketika kluster tidak memberikan layanan.

      • Jika Anda tidak dapat menonaktifkan indeks ini di konsol Kibana kluster Elasticsearch tujuan, kami menyarankan Anda untuk menggunakan terminal untuk menonaktifkan indeks ini. Untuk informasi lebih lanjut, lihat Perintah Curl yang Dapat Anda Gunakan untuk Mengelola Kluster Elasticsearch.

      1. Nonaktifkan indeks sistem .kibana* dan .security* di kluster Elasticsearch tujuan.

        POST /<index name>/_close
      2. Pulihkan data dari snapshot_1 ke kluster Elasticsearch tujuan.

        POST /_snapshot/my_restore/snapshot_1/_restore
        {
         "indices": ".kibana*,.security*",
         "ignore_unavailable": true,
         "include_global_state": false
        }
      3. Aktifkan indeks sistem .kibana* dan .security* di kluster Elasticsearch tujuan.

        POST /<index name>/_open
    • Jika kluster Elasticsearch sumber adalah V8.5, jalankan perintah berikut di konsol Kibana kluster Elasticsearch tujuan untuk memulihkan data dari snapshot snapshot_1 ke kluster Elasticsearch tujuan.

      POST _snapshot/my_restore/snapshot_1/_restore
      {
       "feature_states": [ "security" ],
       "include_global_state": false, 
       "indices": "-*" 
      }
  4. Periksa apakah informasi pengguna digunakan kembali untuk kluster Elasticsearch tujuan.

    1. Di pojok kiri atas konsol Kibana kluster Elasticsearch tujuan, klik ikon 菜单.png. Di panel navigasi di sebelah kiri, pilih Management > Stack Management.

    2. Di panel navigasi di sebelah kiri, klik Users. Di halaman Users, periksa apakah pengguna kara yang memiliki peran cj_test_role ada. Jika pengguna tersebut ada, informasi pengguna kara digunakan kembali untuk kluster Elasticsearch tujuan.

      image.png

Menggunakan kembali visualisasi di kluster Elasticsearch sumber untuk kluster Elasticsearch tujuan

Langkah 1: Persiapkan lingkungan

  1. Masuk ke konsol Kibana kluster Elasticsearch sumber. Untuk informasi lebih lanjut, lihat Masuk ke Konsol Kibana.

  2. Tambahkan data sampel.

    Catatan

    Dalam contoh ini, data sampel ditambahkan ke kluster Elasticsearch V8.5. Operasi untuk menambahkan data sampel ke kluster Elasticsearch dapat bervariasi berdasarkan versi Elasticsearch. Anda dapat melakukan operasi yang diperlukan di konsol Kibana.

    1. Di halaman utama konsol Kibana, klik Try sample data di bagian Get started by adding integrations.

    2. Di tab Sample data halaman yang muncul, klik Other sample data sets.

    3. Klik Add data di kartu Sample flight data.

      Jika Add data berubah menjadi View data, dataset telah ditambahkan. Setelah dataset ditambahkan, Kibana secara otomatis membuat beberapa visualisasi terkait.

      image.png

  3. Di pojok kiri atas konsol Kibana, klik ikon 菜单.png. Di panel navigasi di sebelah kiri, pilih Analytics > Visualize Library untuk melihat visualisasi seperti [Penerbangan] Cuaca Tujuan dan [Penerbangan] Penundaan & Pembatalan.

Langkah 2: Buat snapshot untuk mencadangkan data di kluster Elasticsearch sumber

  1. Masuk ke konsol Kibana kluster Elasticsearch sumber. Untuk informasi lebih lanjut, lihat Masuk ke Konsol Kibana.

  2. Buat repositori bernama my_backup di kluster Elasticsearch sumber.

    • Buat repositori untuk kluster di cloud.

      PUT _snapshot/my_backup/
      {
          "type": "oss",
          "settings": {
              "endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com",
              "access_key_id": "xxxx",
              "secret_access_key": "xxxxxx",
              "bucket": "xxxxxx",
              "compress": true,
              "chunk_size": "500mb",
              "base_path": "snapshot/"
          }
      }
    • Buat repositori untuk kluster mandiri V8.X. Dalam hal ini, Anda harus menginstal plug-in elasticsearch-repository-oss pada kluster. Untuk informasi lebih lanjut, lihat Instal Plug-in elasticsearch-repository-oss.

      Catatan

      Untuk informasi lebih lanjut tentang plug-in, lihat elasticsearch-repository-oss.

      PUT /_snapshot/my_backup
      {
          "type": "oss",
          "settings": {
              "oss.client.endpoint": "oss-cn-shanghai.aliyuncs.com",
              "oss.client.access_key_id": "xxx",
              "oss.client.secret_access_key": "xxx",
              "oss.client.bucket": "xxxxxx",
              "oss.client.base_path":"snapshot/",
              "oss.client.compress": true
          }
      }

    Parameter

    Deskripsi

    Titik akhir

    Titik akhir internal Bucket OSS. Untuk informasi lebih lanjut tentang cara mendapatkan titik akhir, lihat Wilayah dan titik akhir.

    ID AccessKey

    ID AccessKey akun Anda. Untuk informasi lebih lanjut tentang cara mendapatkan ID AccessKey, lihat Dapatkan pasangan AccessKey.

    Rahasia AccessKey

    Rahasia AccessKey akun Anda. Untuk informasi lebih lanjut tentang cara mendapatkan Rahasia AccessKey, lihat Dapatkan pasangan AccessKey.

    Bucket

    Nama Bucket OSS. Untuk informasi lebih lanjut tentang cara mendapatkan nama, lihat Buat bucket.

    Kompres

    Menentukan apakah akan mengaktifkan fitur kompresi data untuk snapshot. Nilai valid:

    • true: mengaktifkan fitur kompresi data untuk snapshot. Fitur ini hanya berlaku untuk metadata indeks, termasuk pemetaan dan pengaturan indeks.

    • false: menonaktifkan fitur kompresi data untuk snapshot. Nilai default adalah false.

    Ukuran chunk

    Jika Anda ingin mengunggah volume data besar ke Bucket OSS, Anda dapat mengunggah data dalam beberapa bagian. Dalam hal ini, Anda dapat menggunakan parameter ini untuk menetapkan ukuran setiap bagian. Jika ukuran sebuah bagian mencapai nilai parameter ini, data berlebih didistribusikan ke bagian lain.

    Jalur dasar

    Lokasi awal repositori. Nilai default adalah direktori root. Anda dapat menentukan direktori tempat snapshot tertentu disimpan. Contoh: snapshot/myindex/.

  3. Buat snapshot untuk kluster Elasticsearch sumber.

    • Jika kluster Elasticsearch sumber adalah V7.10, jalankan perintah berikut untuk membuat snapshot bernama snapshot_2 di kluster tersebut.

      Catatan

      Untuk informasi tentang parameter dalam perintah yang digunakan untuk membuat snapshot untuk kluster Elasticsearch V7.10, lihat API Restore Snapshot.

      PUT _snapshot/my_backup/snapshot_2
      {
       "indices": ".kibana*,.security*",
       "ignore_unavailable": true,
       "include_global_state": true
      }
    • Jika kluster Elasticsearch sumber adalah V8.5, jalankan perintah berikut untuk membuat snapshot bernama snapshot_2 untuk indeks yang menyimpan visualisasi di kluster tersebut.

      Catatan

      Untuk informasi tentang parameter dalam perintah yang digunakan untuk membuat snapshot untuk kluster Elasticsearch V8.5, lihat API Create Snapshot.

      PUT _snapshot/my_backup/snapshot_2
      {
        "indices": "-*",
        "ignore_unavailable": true,
        "include_global_state": true,
        "feature_states": [
            "security","kibana"
          ]
  4. Periksa apakah snapshot berhasil dibuat. Misalnya, Anda dapat menjalankan perintah berikut untuk menanyakan detail snapshot snapshot_2 di repositori my_backup.

    GET _snapshot/my_backup/snapshot_2

Langkah 3: Pulihkan data dari snapshot

  1. Masuk ke konsol Kibana kluster Elasticsearch tujuan. Untuk informasi lebih lanjut, lihat Masuk ke Konsol Kibana.

  2. Buat repositori bernama my_restore di kluster Elasticsearch tujuan.

    PUT _snapshot/my_restore
    {
     "type": "oss",
     "settings": {
     "endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com",
     "access_key_id": "[your_access_key_id]",
     "secret_access_key": "[your_secret_access_key]",
     "bucket": "[your_bucket_name]",
     "compress": true,
     "chunk_size": "500mb",
     "base_path": "snapshot/"
     }
    }
  3. Pulihkan data dari snapshot yang dibuat untuk kluster Elasticsearch sumber ke kluster Elasticsearch tujuan.

    • Jika kluster Elasticsearch sumber adalah V7.10, lakukan operasi berikut untuk memulihkan data dari snapshot yang dibuat untuk kluster tersebut.

      Catatan

      Jika Anda ingin memulihkan data dari snapshot yang dibuat untuk kluster Elasticsearch V7.10 atau sebelumnya ke kluster Elasticsearch tujuan, Anda harus menonaktifkan indeks sistem .kibana* dan .security* di kluster Elasticsearch tujuan. Setelah data dipulihkan dari snapshot, Anda harus mengaktifkan indeks ini sesegera mungkin.

      • Menonaktifkan indeks sistem dapat menyebabkan fitur-fitur kluster Elasticsearch tidak tersedia atau terbatas. Misalnya, penonaktifan indeks sistem .kibana* dapat menyebabkan konsol Kibana tidak tersedia, dan penonaktifan indeks sistem .security* dapat memengaruhi keamanan data kluster Elasticsearch.

      • Kami menyarankan Anda untuk mencadangkan data di indeks sistem ini terlebih dahulu. Dengan cara ini, Anda dapat memulihkan data jika diperlukan.

      • Kami menyarankan Anda untuk menonaktifkan indeks ini di kluster Elasticsearch tujuan selama jam-jam sepi atau ketika kluster tidak memberikan layanan.

      • Jika Anda tidak dapat menonaktifkan indeks ini di konsol Kibana kluster Elasticsearch tujuan, kami menyarankan Anda untuk menggunakan terminal untuk menonaktifkan indeks ini. Untuk informasi lebih lanjut, lihat Perintah Curl yang Dapat Anda Gunakan untuk Mengelola Kluster Elasticsearch.

      1. Nonaktifkan indeks sistem .kibana* dan .security* di kluster Elasticsearch tujuan.

        POST /<index name>/_close
      2. Pulihkan data dari snapshot_2 ke kluster Elasticsearch tujuan.

        POST /_snapshot/my_restore/snapshot_2/_restore
        {
         "indices": ".kibana*,.security*",
         "ignore_unavailable": true,
         "include_global_state": false
        }
      3. Aktifkan indeks sistem .kibana* dan .security* di kluster Elasticsearch tujuan.

        POST /<index name>/_open
    • Jika kluster Elasticsearch sumber adalah V8.5, jalankan perintah berikut di konsol Kibana kluster Elasticsearch tujuan untuk memulihkan data dari snapshot snapshot_2 ke kluster Elasticsearch tujuan.

      POST _snapshot/my_restore/snapshot_2/_restore
      {
        "feature_states": [ "security","kibana" ],
        "include_global_state": false,    
        "indices": "-*"                   
      }
  4. Periksa apakah visualisasi digunakan kembali untuk kluster Elasticsearch tujuan.

    Di pojok kiri atas konsol Kibana kluster Elasticsearch tujuan, klik ikon 菜单.png. Di panel navigasi di sebelah kiri, pilih Analytics > Visualize Library. Di halaman Visualize Library, periksa apakah visualisasi digunakan kembali untuk kluster Elasticsearch tujuan.