Mereplikasi dari HBase ke Bigtable
Library replikasi HBase Cloud Bigtable adalah komponen dari klien HBase Cloud Bigtable untuk Java open source. Library replikasi memungkinkan Anda mereplikasi data secara asinkron dari cluster HBase ke instance Bigtable menggunakan layanan replikasi HBase, sehingga Anda dapat melakukan migrasi online dari HBase ke Bigtable. Untuk meninjau README dan kode sumber, buka repositori GitHub.
Untuk migrasi offline dari HBase ke Bigtable, lihat Memigrasikan data dari HBase ke Bigtable secara offline.
Kasus penggunaan
- Migrasi online ke Bigtable - Anda dapat menggunakan library replikasi HBase Bigtable, bersama dengan migrasi offline data HBase yang ada, untuk melakukan migrasi dari HBase ke Bigtable dengan hampir tanpa periode nonaktif.
- Pemulihan data - Bersiaplah menghadapi hal tak terduga dengan mereplikasi data HBase Anda ke instance Bigtable di luar lokasi.
- Memusatkan set data - Gunakan library untuk mereplikasi data dari cluster HBase di beberapa lokasi ke satu instance Bigtable yang secara otomatis menangani replikasi di antara clusternya.
- Memperluas jejak HBase Anda - Mereplikasi ke instance Bigtable yang memiliki cluster di lokasi di luar lokasi HBase Anda saat ini.
Ringkasan
Library replikasi HBase Bigtable memperluas layanan replikasi HBase dasar. Data yang ditulis ke cluster HBase direplikasi secara asinkron ke instance Bigtable dengan cara yang sama seperti replikasi HBase standar menyalin data ke cluster HBase lain. Library ini menggunakan write-ahead log (WAL) cluster HBase sumber untuk mengirimkan mutasi ke instance Bigtable.
Anda dapat mereplikasi seluruh cluster HBase ke Bigtable atau mereplikasi hanya tabel atau grup kolom tertentu. Dengan kata lain, replikasi HBase diaktifkan di tingkat cluster, tabel, atau grup kolom.
Replikasi dari HBase ke Bigtable memiliki konsistensi tertunda.
Bermigrasi ke Bigtable
Library replikasi HBase Bigtable memungkinkan Anda bermigrasi ke Bigtable tanpa menjeda aplikasi.
Secara umum, langkah-langkah untuk migrasi online dari HBase ke Bigtable adalah sebagai berikut. Lihat README untuk mengetahui detail selengkapnya.
- Sebelum memulai, ikuti langkah penyiapan dan konfigurasi.
- Aktifkan replikasi di cluster HBase Anda.
- Tambahkan endpoint replikasi Bigtable sebagai peer.
- Nonaktifkan peer Bigtable. Hal ini menyebabkan penulisan ke HBase dari titik tersebut dan seterusnya di-buffer pada cluster HBase.
- Setelah buffering dimulai untuk merekam penulisan baru, ikuti panduan migrasi offline untuk memigrasikan snapshot data HBase yang ada.
- Setelah migrasi offline selesai, aktifkan kembali peer Bigtable untuk mengizinkan pengurasan buffer dan pemutaran ulang penulisan di Bigtable.
- Setelah buffer habis, mulai ulang aplikasi Anda untuk mengirim permintaan ke Bigtable.
Menyiapkan dan mengonfigurasi library replikasi
Sebelum dapat menggunakan replikasi HBase Bigtable, Anda harus menyelesaikan tugas di bagian ini.
Mengonfigurasi autentikasi
Untuk memastikan bahwa library replikasi memiliki izin untuk menulis ke Bigtable, ikuti langkah-langkah di Membuat akun layanan. Tetapkan peran roles/bigtable.user ke akun layanan yang baru dibuat.
Selanjutnya, tambahkan berikut ke file hbase-site.xml Anda di seluruh cluster HBase.
<property>
<name>google.bigtable.auth.json.keyfile</name>
<value>JSON_FILE_PATH</value>
<description>
Service account JSON file to connect to Cloud Bigtable
</description>
</property>
Ganti JSON_FILE_PATH dengan jalur ke file JSON yang Anda download.
Untuk mengetahui properti tambahan yang dapat Anda tetapkan, lihat HBaseToCloudBigtableReplicationConfiguration.
Membuat instance dan tabel tujuan
Sebelum dapat mereplikasi dari HBase ke Bigtable, buat instance Bigtable. Instance Bigtable dapat memiliki satu cluster atau beberapa cluster yang beroperasi secara multi-primer. Permintaan dari layanan replikasi HBase dirutekan ke cluster terdekat di instance Bigtable, lalu direplikasi ke cluster lain di instance tersebut.
Tabel tujuan Bigtable Anda harus memiliki nama yang sama dan grup kolom yang sama dengan tabel HBase Anda. Untuk mengetahui petunjuk langkah demi langkah tentang cara menggunakan alat Terjemahan Skema Bigtable untuk membuat tabel dengan skema yang sama dengan tabel HBase Anda, lihat Memigrasikan data dari HBase ke Bigtable secara offline. Meskipun Anda mereplikasi, bukan mengimpor data, langkah-langkahnya sama.
Menetapkan properti konfigurasi
Tambahkan kode berikut ke hbase-site.xml Anda di seluruh cluster HBase.
<property>
<name>google.bigtable.project.id</name>
<value>PROJECT_ID</value>
<description>
Bigtable project ID
</description>
</property>
<property>
<name>google.bigtable.instance.id</name>
<value>INSTANCE_ID</value>
<description>
Bigtable instance ID
</description>
</property>
<property>
<name>google.bigtable.app_profile.id</name>
<value>APP_PROFILE_ID</value>
<description>
Bigtable app profile ID
</description>
</property>
Ganti kode berikut:
PROJECT_ID: Google Cloud Project tempat instance Bigtable Anda berada.INSTANCE_ID: ID instance Bigtable yang menjadi tujuan replikasi data Anda.APP_PROFILE_ID: ID profil aplikasi yang akan digunakan untuk terhubung ke Bigtable.
Menginstal library replikasi
Untuk menggunakan library replikasi HBase Bigtable, Anda harus menginstalnya di setiap server dalam cluster HBase. Gunakan versi library replikasi yang sesuai dengan versi HBase Anda (1.x atau 2.x).
Download JAR
Untuk mendapatkan library replikasi, jalankan perintah berikut di shell HBase.