Mengoptimalkan Apache HBase dengan Apache Ambari di Azure HDInsight

Apache Ambari adalah antarmuka web untuk mengelola dan memantau kluster Microsoft Azure HDInsight. Untuk pengenalan ke Ambari Web UI, lihat Kelola kluster Microsoft Azure HDInsight dengan menggunakan Apache Ambari Web UI.

Konfigurasi HBase Apache dimodifikasi dari tab HBase Configs. Bagian berikut ini menjelaskan beberapa pengaturan konfigurasi penting yang memengaruhi performa HBase.

Set HBASE_HEAPSIZE

Catatan

Artikel ini berisi referensi ke istilah master, istilah yang tidak lagi digunakan Microsoft. Saat istilah dihapus dari perangkat lunak, kami akan menghapusnya dari artikel ini.

Ukuran tumpukan HBase menentukan jumlah maksimum timbunan yang akan digunakan dalam megabyte berdasarkan wilayah dan server master. Nilai defaultnya adalah 1,000 MB. Nilai ini harus diatur untuk beban kerja kluster.

  1. Untuk memodifikasi, arahkan ke panel HBase-env Tingkat Lanjut di tab Konfigurasi HBase, lalu temukan HBASE_HEAPSIZE pengaturannya.

  2. Ubah nlai default ke 5,000 MB.

    `Apache Ambari HBase memory heapsize`.

Optimalkan beban kerja baca-berat

Konfigurasi berikut ini penting untuk meningkatkan performa beban kerja baca-berat.

Ukuran cache blok

Cache blok adalah cache baca. Parameter hfile.block.cache.size mengontrol ukuran cache blok. Nilai default adalah 0,4, yaitu 40 persen dari total memori server wilayah. Lebih besar ukuran cache blok, lebih cepat akan menjadi bacaan acak.

  1. Untuk mengubah parameter ini, arahkan ke tab Pengaturan di tab Konfigurasi HBase, lalu temukan % RegionServer yang Dialokasikan untuk Membaca Buffer.

    Apache HBase memory block cache size.

  2. Untuk mengubah nilai, pilih ikon Edit.

Ukuran memstore

Semua pengeditan disimpan di penyangga memori, yang disebut Memstore. Penyangga ini meningkatkan jumlah total data yang dapat ditulis ke disk dalam satu operasi. Ini juga mempercepat akses ke pengeditan baru-baru ini. Ukuran Memstore mendefinisikan dua parameter berikut:

  • hbase.regionserver.global.memstore.UpperLimit: Definisikan persentase maksimum server wilayah yang gabungan memstore dapat digunakan.

  • hbase.regionserver.global.memstore.LowerLimit: Definisikan persentase maksimum server wilayah yang gabungan memstore dapat digunakan.

Untuk mengoptimalkan bacaan acak, Anda dapat mengurangi batas atas dan bawah Memstore.

Jumlah baris yang diambil ketika memindai dari disk

hbase.client.scanner.cachingPengaturan menentukan jumlah baris yang dibaca dari disk ketika metode dipanggil pada next pemindai. Nilai default adalah 100. Semakin tinggi jumlahnya, semakin sedikit panggilan jarak jauh yang dilakukan dari klien ke server wilayah, sehingga pemindaian lebih cepat. Namun, pengaturan ini meningkatkan tekanan memori pada klien.

Apache HBase number of rows fetched.

Penting

Jangan atur nilai sedemikian rupa sehingga waktu antara pemanggilan metode berikutnya pada pemindai lebih besar daripada waktu habis pemindai. Durasi waktu habis pemindai ditentukan oleh hbase.regionserver.lease.period properti.

Optimalkan beban kerja berat tulis

Konfigurasi berikut ini penting untuk meningkatkan performa beban kerja baca-berat.

Ukuran file wilayah maksimum

HBase menyimpan data dalam format file internal, yang disebut HFile. Properti hbase.hregion.max.filesize menentukan ukuran tunggal HFile untuk suatu wilayah. Wilayah dibagi menjadi dua wilayah jika jumlah semua HFiles di suatu wilayah lebih besar dari pengaturan ini.

`Apache HBase HRegion max filesize`.

Semakin besar ukuran file wilayah, semakin kecil jumlah pemisahan. Anda dapat meningkatkan ukuran file untuk menentukan nilai yang menghasilkan performa tulis maksimum.

Hindari pemblokiran pembaruan

  • Properti hbase.hregion.memstore.flush.size mendefinisikan ukuran di mana Memstore di-flush ke disk. Ukuran defaultnya adalah 128 MB.

  • hbase.hregion.memstore.block.multiplier menentukan pengali blok wilayah HBase. Nilai defaultnya adalah 4. Maksimum yang diizinkan adalah 8.

  • HBase memblokir pembaruan jika Memstore adalah (hbase.hregion.memstore.flush.size * hbase.hregion.memstore.block.multiplier) byte.

    Dengan nilai default dari ukuran flush dan pengali blok, pembaruan diblokir saat Memstore berukuran 128 * 4 = 512 MB. Untuk mengurangi jumlah pemblokiran pembaruan, tingkatkan nilai hbase.hregion.memstore.block.multiplier.

Apache HBase Region Block Multiplier.

Definisikan ukuran Memstore

Parameter hbase.regionserver.global.memstore.upperLimit dan hbase.regionserver.global.memstore.lowerLimit mendefinisikan ukuran Memstore. Pengaturan nilai-nilai ini sama satu sama lain mengurangi jeda selama penulisan (juga menyebabkan pembilasan yang lebih sering) dan menghasilkan peningkatan performa tulis.

Set penyangga alokasi lokal Memstore

Properti hbase.hregion.memstore.mslab.enabled mendefinisikan penggunaan buffer alokasi lokal Memstore. Ketika diaktifkan (true), pengaturan ini mencegah fragmentasi timbunan selama operasi penulisan berat. Nilai defaultnya adalah true.

hbase.hregion.memstore.mslab.enabled.

Langkah berikutnya