All Products
Search
Document Center

E-MapReduce:Gunakan snapshot HBase

Last Updated:Mar 27, 2026

Gunakan snapshot HBase

Snapshot HBase memungkinkan Anda membuat cadangan tabel dengan dampak minimal terhadap kinerja kluster. Pada kluster E-MapReduce (EMR) yang telah menerapkan HBase, Anda dapat membuat, mengkloning, memulihkan, mengimpor, mengekspor, dan menghapus snapshot menggunakan HBase Shell atau command line.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Kluster EMR dengan layanan HBase yang telah diterapkan

  • Akses ke HBase Shell atau command line pada kluster

Untuk menghubungkan ke HBase Shell, lihat bagian Connect to HBase dalam topik "Use HBase Shell".

Buat snapshot

Perintah snapshot membuat cadangan ringan dari sebuah tabel dengan dampak minimal terhadap kinerja.

Jalankan perintah berikut untuk membuat snapshot bernama table1-snapshot untuk tabel table1:

snapshot 'table1', 'table1-snapshot'

Untuk menambahkan batasan, sertakan parameter SKIP_FLUSH, TTL, atau MAX_FILESIZE sesuai kebutuhan Anda.

Catatan

Nama snapshot harus unik di seluruh kluster. Jalankan list_snapshots untuk melihat semua snapshot yang ada.

Kloning snapshot

Perintah clone_snapshot membuat tabel baru yang berisi data yang sama seperti pada snapshot.

Jalankan perintah berikut untuk membuat table2 dari table1-snapshot:

clone_snapshot 'table1-snapshot', 'table2'

Pulihkan data tabel

Perintah restore_snapshot mengembalikan tabel ke kondisi yang direkam dalam snapshot. Sebelum memulihkan, Anda harus menonaktifkan tabel tersebut, lalu mengaktifkannya kembali setelah proses pemulihan selesai.

Jalankan perintah berikut untuk memulihkan table1 menggunakan table1-snapshot:

disable 'table1'
restore_snapshot 'table1-snapshot'
enable 'table1'

Impor snapshot

Perintah hbase snapshot export menyalin snapshot dari jalur sumber ke jalur tujuan. Gunakan perintah ini untuk mengimpor snapshot dari bucket Object Storage Service (OSS) atau jalur Hadoop Distributed File System (HDFS) ke kluster saat ini.

Penting

Jika Anda menghilangkan parameter -mappers, HBase akan menghitung nilainya berdasarkan ukuran tabel, yang mungkin terlalu besar dan memengaruhi task yang sedang berjalan. Tetapkan nilai -mappers atau -bandwidth untuk membatasi penggunaan resource kluster.

Perintah berikut mengimpor table1-snapshot dari layanan OSS-HDFS satu kluster DataServing ke layanan OSS-HDFS kluster lainnya:

hbase snapshot export \
  -snapshot 'table1-snapshot' \
  -copy-from oss://<oss-hdfs-endpoint>/oss-dir \
  -copy-to oss://<oss-hdfs-endpoint>/hbase \
  -mappers 2

Ganti placeholder dengan nilai aktual:

Placeholder Deskripsi
<oss-hdfs-endpoint> Titik akhir layanan OSS-HDFS. Salin dari bagian Port pada halaman Overview bucket Anda di Konsol OSS. Untuk detailnya, lihat bagian Procedure dalam topik "Use OSS-HDFS as the storage backend of HBase".

Parameter-parameter tersebut dijelaskan sebagai berikut:

Parameter Deskripsi
-snapshot Nama snapshot yang akan diimpor. Contoh: table1-snapshot.
-copy-from Jalur sumber snapshot.
-copy-to Jalur tujuan untuk menyimpan snapshot.
-mappers Jumlah mapper untuk task impor.
-bandwidth Alternatif dari -mappers untuk membatasi penggunaan resource kluster.

Untuk memastikan impor berhasil, jalankan list_snapshots dan verifikasi bahwa snapshot muncul dalam output.

Ekspor snapshot

Perintah hbase snapshot export menyalin snapshot dari kluster saat ini ke jalur HDFS atau OSS-HDFS eksternal. Perintah ini menggunakan binary yang sama dengan impor — arah operasinya dikendalikan oleh parameter yang Anda berikan.

Penting

Tetapkan -mappers atau -bandwidth untuk membatasi penggunaan resource kluster selama proses ekspor.

Perintah berikut mengekspor table1-snapshot ke layanan OSS-HDFS kluster lain:

hbase snapshot export \
  -snapshot 'table1-snapshot' \
  -copy-to oss://<oss-hdfs-endpoint>/oss-dir \
  -mappers 2

Untuk mengekspor ke jalur HDFS, tetapkan -copy-to ke jalur HDFS target.

Parameter-parameter tersebut sama dengan yang dijelaskan dalam bagian Import a snapshot.

Hapus snapshot

Jalankan perintah berikut untuk menghapus table1-snapshot:

delete_snapshot 'table1-snapshot'

Jalankan list_snapshots untuk memastikan snapshot telah dihapus.

Langkah berikutnya

Untuk referensi lengkap mengenai operasi snapshot HBase, lihat Apache HBase Reference Guide.