

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Bermigrasi dari versi HBase sebelumnya
<a name="emr-hbase-migrate"></a>

Untuk memigrasi data dari versi HBase sebelumnya, lihat [Meningkatkan](https://hbase.apache.org/book.html#upgrading) dan [nomor versi dan kompatibilitas HBase](https://hbase.apache.org/book.html#hbase.versioning) dalam Panduan Referensi Apache HBase. Anda mungkin perlu memberi perhatian khusus pada persyaratan untuk meningkatkan dari versi HBase pra-1.0.

## Bermigrasi ke Amazon EMR versi 7.4.0 atau yang lebih baru
<a name="emr-hbase-migrate-versions"></a>

**catatan**  
Ikuti panduan ini jika Anda bermigrasi dari rilis EMR lebih awal dari 7.4.0 ke rilis yang lebih besar dari 7.3.0.

Jika saat ini Anda menjalankan versi EMR dengan fitur Pelacakan File Toko Amazon diaktifkan, yang disertakan dalam versi 6.2.0 hingga 7.3.0, dan Anda ingin meningkatkan ke versi dengan OSS Store File Tracking, yang tersedia pada versi EMR yang lebih baru dari 7.3.0, ikuti langkah-langkah ini:

1. Di cluster yang ada:

   1. Nonaktifkan `hbase:storefile` tabel.

   1. Jatuhkan `hbase:storefile` meja.

   1. Siram`hbase:meta`.

   1. Tunggu metadata diperbarui.

1. Di cluster baru:

   1. Tetapkan direktori Amazon S3 yang sama sebagai direktori root.

   1. Mulai cluster dengan `DefaultStoreFileTracker` implementasi:

      ```
      {
        "Classification": "hbase-site",
        "Properties": {
          hbase.store.file-tracker.impl: "org.apache.hadoop.hbase.regionserver.storefiletracker.DefaultStoreFileTracker"
         }
      }
      ```

   1. Pada tingkat keluarga tabel atau kolom, gunakan perintah berikut untuk mengubah pelacak file penyimpanan:

      1. Ubah Pelacak File Store pada tabel atau keluarga kolom tabel:

         ```
         hbase> change_sft 't1','FILE'
         hbase> change_sft 't2','cf1','FILE'
         ```

      1. Ubah semua Pelacak File Store tabel yang cocok dengan ekspresi reguler yang diberikan (regex):

         ```
         hbase> change_sft_all 't.*','FILE'
         hbase> change_sft_all 'ns:.*','FILE'
         hbase> change_sft_all 'ns:t.*','FILE'
         ```

## Migrasi HBase di cluster Amazon S3 ke Amazon EMR Versi 7.12.0 atau yang lebih baru menggunakan cluster Read-Replica
<a name="emr-hbase-migrate-s3-read-replica"></a>

Dimulai dengan EMR 7.12.0, Anda dapat mengalihkan HBase baca-replika di cluster Amazon S3 dari mode baca-saja ke mode aktif, memungkinkan operasi baca dan tulis. Fungsi ini disediakan melalui dua perintah shell HBase baru.

**catatan**  
Saat menggunakan Amazon EMR versi 7.12.0 atau yang lebih baru, gunakan konfigurasi sampel berikut:  

```
{
  "Classification": "hbase-site",
  "Properties": {
    "hbase.rootdir": "{{s3://{S3_LOCATION}}}"
  }
},
{
  "Classification": "hbase",
  "Properties": {
    "hbase.emr.storageMode": "s3",
    "hbase.emr.readreplica.enabled.v2": "true"
  }
}
```

1. `readonly_state`

   Mengambil status operasional baca-tulis saat ini dari cluster.

   Output:
   + TIDAK AKTIF - Cluster dalam mode read-only dan write tidak aktif.
   + AKTIF - Cluster mendukung operasi baca dan tulis.

1. `readonly_switch`

   Mengaktifkan atau menonaktifkan mode read-only dengan opsi yang dapat dikonfigurasi untuk proses switching.

   Sintaksis:

   ```
   readonly_switch <readonly>,<force_flush>,<force_refresh_meta>,<force_refresh_hfile>
   ```

   Parameter:
   + readonly (wajib) - Nilai Boolean untuk mengaktifkan (true) atau menonaktifkan (false) mode baca-saja
   + force\_flush (opsional) - Memaksa data flush sebelum beralih dari mode aktif ke mode baca-saja (default: true)
   + force\_refresh h\_meta (opsional) - Memaksa penyegaran tabel meta saat beralih dari read-only ke mode aktif (default: true)
   + force\_refresh hfile (opsional) - Memaksa penyegaran HFile saat beralih dari read-only ke mode aktif (default: true)

### Langkah migrasi
<a name="emr-hbase-migrate-s3-steps"></a>

Jika saat ini Anda menjalankan EMR 6.0.0\+ HBase di cluster Amazon S3 dan ingin bermigrasi ke cluster EMR 7.12.0 atau yang lebih baru, ikuti langkah-langkah berikut:

1. Pastikan cluster sumber Anda dalam keadaan stabil tanpa inkonsistensi menggunakan laporan hbck atau prosedur macet dari UI master HBase.

   ```
   sudo -u hbase hbase hbck > hbck_report.txt
   ```

1. Pastikan tidak ada wilayah dalam status SPLIT pada cluster sumber:

   1. Jika ada wilayah dalam status SPLIT, jalankan pemadatan besar pada tabel masing-masing dan tunggu sampai selesai

      ```
      major_compact <table_name>
      ```

   1. Jalan `catalogjanitor_run` kan di shell HBase setelah pemadatan selesai

1. Buat cluster EMR 7.12.0\+ baru yang dikonfigurasi sebagai replika baca yang menunjuk ke lokasi Amazon S3 yang sama dengan cluster sumber Anda. Lihat [ blog ini ](https://aws.amazon.com/blogs/big-data/setting-up-read-replica-clusters-with-hbase-on-amazon-s3/) untuk detail lebih lanjut tentang cara mengatur cluster replika baca. Luncurkan cluster baru dengan DefaultStoreFileTracker konfigurasi seperti yang disebutkan dalam langkah-langkah di atas jika Anda ingin meningkatkan ke pelacakan file OSS Store.

1. Tunggu node master untuk diinisialisasi sepenuhnya. Verifikasi aksesibilitas data dengan membaca tabel dan mengonfirmasi cluster baru dalam mode read-only

   ```
   hbase:001:0> readonly_state
   Took 0.4612 seconds
   => "INACTIVE"
   ```

1. Nonaktifkan penyeimbangan dan pemadatan pada cluster sumber:

   ```
   echo "balance_switch false" | hbase shell
   echo "compaction_switch false" | hbase shell
   ```

1. Pastikan tidak ada yang overlaps/inconsistencies muncul di UI cluster baca-replika dan verifikasi bahwa wilayah menunjukkan status OPEN dan ditetapkan dengan benar.

1. Konversikan pelacakan file Store menggunakan perintah pada cluster baca-replika yang disebutkan di bagian di atas jika Anda ingin mengubahnya. FileBasedTracker

1. Hentikan pekerjaan yang menunjuk ke cluster sumber, bersihkan semua tabel, dan matikan cluster sumber. Tunggu penghentian lengkap sebelum melanjutkan.

   ```
   echo "flush 'usertable'" | hbase shell
   echo "flush 'hbase:meta'" | hbase shell
   echo "flush 'hbase:namespace'" | hbase shell
   ```

1. Alihkan cluster baca-replika ke mode aktif untuk mengaktifkan operasi tulis. Setelah menyelesaikan langkah ini, cluster baru Anda akan mendukung operasi baca dan tulis, dan migrasi selesai.

   ```
   hbase:010:0> readonly_switch false
   Took 38.1568 seconds
   ```

1. Validasi penulisan pada cluster baru dan pastikan semua wilayah melayani permintaan.

**catatan**  
Hanya ada satu cluster aktif yang menunjuk ke lokasi Amazon S3 pada setiap titik waktu. Oleh karena itu, mengalihkan baca-replika ke aktif harus dilakukan hanya setelah cluster sumber dihentikan.