View a markdown version of this page

Bermigrasi dari versi HBase sebelumnya - Amazon EMR

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

Untuk memigrasi data dari versi HBase sebelumnya, lihat Meningkatkan dan nomor versi dan kompatibilitas HBase 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

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.

    2. Jatuhkan hbase:storefile meja.

    3. Siramhbase:meta.

    4. Tunggu metadata diperbarui.

  2. Di cluster baru:

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

    2. Mulai cluster dengan DefaultStoreFileTracker implementasi:

      { "Classification": "hbase-site", "Properties": { hbase.store.file-tracker.impl: "org.apache.hadoop.hbase.regionserver.storefiletracker.DefaultStoreFileTracker" } }
    3. 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'
      2. 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

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.

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

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
  2. 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>
    2. Jalan catalogjanitor_run kan di shell HBase setelah pemadatan selesai

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

  4. 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"
  5. Nonaktifkan penyeimbangan dan pemadatan pada cluster sumber:

    echo "balance_switch false" | hbase shell echo "compaction_switch false" | hbase shell
  6. Pastikan tidak ada yang overlaps/inconsistencies muncul di UI cluster baca-replika dan verifikasi bahwa wilayah menunjukkan status OPEN dan ditetapkan dengan benar.

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

  8. 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
  9. 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
  10. 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.