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.
Untuk memodifikasi, arahkan ke panel HBase-env Tingkat Lanjut di tab Konfigurasi HBase, lalu temukan
HBASE_HEAPSIZE
pengaturannya.Ubah nlai default ke 5,000 MB.
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.
Untuk mengubah parameter ini, arahkan ke tab Pengaturan di tab Konfigurasi HBase, lalu temukan % RegionServer yang Dialokasikan untuk Membaca Buffer.
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.caching
Pengaturan 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.
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.
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
.
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.
Langkah berikutnya
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk