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.
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.
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.
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.