全部产品
Search
文档中心

E-MapReduce:Gunakan snapshot HBase

更新时间:Jul 02, 2025

Fitur snapshot HBase memungkinkan Anda membuat cadangan ringan dari tabel dengan dampak minimal pada kinerja. Anda dapat membuat, mengimpor, atau mengekspor snapshot di kluster E-MapReduce (EMR) yang mencakup layanan HBase menggunakan HBase Shell atau baris perintah. Snapshot ini dapat digunakan untuk membuat tabel baru atau memulihkan data tabel. Topik ini menjelaskan cara menggunakan snapshot HBase.

Buat snapshot

Jalankan perintah hbase shell untuk terhubung ke HBase. Untuk informasi lebih lanjut, lihat bagian Terhubung ke HBase dari topik "Gunakan HBase Shell". Setelah terhubung ke HBase, jalankan perintah berikut untuk membuat snapshot bernama table1-snapshot untuk table1: Anda dapat mengonfigurasi parameter SKIP_FLUSH, TTL, atau MAX_FILESIZE dalam perintah snapshot sesuai kebutuhan bisnis Anda.

snapshot 'table1', 'table1-snapshot'
Catatan

Nama snapshot harus unik. Anda dapat menjalankan perintah list_snapshots untuk melihat semua snapshot yang tersedia.

Buat tabel dengan mengkloning snapshot

Anda dapat menjalankan perintah clone_snapshot untuk mengkloning snapshot dan membuat tabel baru yang berisi data yang sama dengan snapshot tersebut.

Sebagai contoh, setelah menjalankan perintah hbase shell untuk terhubung ke HBase, Anda dapat menjalankan perintah berikut untuk membuat tabel bernama table2 dari table1-snapshot:

clone_snapshot 'table1-snapshot', 'table2'

Pulihkan data tabel menggunakan snapshot

Anda dapat menjalankan perintah restore_snapshot untuk memulihkan data tabel sesuai kondisi saat snapshot dibuat. Sebelum menggunakan snapshot untuk memulihkan data tabel, Anda harus menonaktifkan tabel tersebut.

Sebagai contoh, setelah menjalankan perintah hbase shell untuk terhubung ke HBase, Anda dapat menjalankan perintah berikut untuk menonaktifkan table1, memulihkan data di table1 menggunakan table1-snapshot, dan mengaktifkan kembali table1.

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

Impor snapshot

Anda dapat menggunakan baris perintah untuk mengimpor snapshot HBase dari lokasi lain. Saat mengimpor snapshot, tentukan nama dan jalur sumber snapshot, alamat tujuan penyimpanan snapshot, serta jumlah mapper untuk tugas impor.

Sebagai contoh, Anda dapat menjalankan perintah berikut untuk mengimpor snapshot dari layanan OSS-HDFS kluster DataServing ke layanan OSS-HDFS kluster DataServing lainnya:

hbase snapshot export \
-snapshot 'table1-snapshot' \
-copy-from oss://${Endpoint of the OSS-HDFS service}/oss-dir \
-copy-to oss://${Endpoint of the OSS-HDFS service}/hbase \
-mappers 2

Parameter

Deskripsi

-snapshot

Nama snapshot yang akan diimpor. Contoh: table1-snapshot.

-copy-from

Alamat sumber snapshot yang akan diimpor dan alamat tujuan untuk menyimpan snapshot.

Anda dapat menyalin endpoint layanan OSS-HDFS di bagian Port halaman Overview bucket Anda di konsol Object Storage Service (OSS). Untuk informasi lebih lanjut, lihat bagian Prosedur dari topik "Gunakan OSS-HDFS sebagai backend penyimpanan HBase".

-copy-to

-mappers

Jumlah mapper untuk tugas impor. Dalam contoh ini, parameter ini disetel ke 2.

Penting

Jika Anda tidak mengonfigurasi parameter ini saat mengimpor snapshot, HBase akan menghitung nilainya berdasarkan ukuran tabel. Jika nilainya terlalu besar, tugas yang sedang berjalan di HBase akan terpengaruh. Kami sarankan Anda mengonfigurasi parameter -mappers atau -bandwidth untuk membatasi jumlah sumber daya kluster yang digunakan untuk mengimpor snapshot.

Ekspor snapshot

Anda dapat menggunakan baris perintah untuk mengekspor snapshot dari kluster ke Sistem File Terdistribusi Hadoop (HDFS) atau layanan OSS-HDFS kluster lainnya. Saat mengekspor snapshot, tentukan nama dan jalur tujuan snapshot yang akan diekspor, serta jumlah mapper untuk tugas ekspor.

Sebagai contoh, Anda dapat menjalankan perintah berikut untuk mengekspor table1-snapshot dari kluster saat ini ke layanan OSS-HDFS kluster lainnya. Jika ingin mengekspor snapshot ke layanan HDFS kluster lainnya, atur parameter -copy-to ke jalur HDFS yang sesuai.

hbase snapshot export \
-snapshot 'table1-snapshot' \
-copy-to oss://${Endpoint of the OSS-HDFS service}/oss-dir \
-mappers 2

Hapus snapshot

Setelah menjalankan perintah hbase shell untuk terhubung ke HBase, Anda dapat menjalankan perintah berikut untuk menghapus table1-snapshot:

delete_snapshot 'table1-snapshot'

Referensi

Untuk informasi lebih lanjut, lihat Panduan Referensi Apache HBase di situs resmi Apache HBase.