Azure HDInsight’ta Apache Ambari ile Apache HBase'i iyileştirme
Apache Ambari, HDInsight kümelerini yönetmek ve izlemek için bir web arabirimidir. Ambari Web kullanıcı arabirimine giriş için bkz . Apache Ambari Web kullanıcı arabirimini kullanarak HDInsight kümelerini yönetme.
Apache HBase yapılandırması HBase Yapılandırmaları sekmesinden değiştirilir. Aşağıdaki bölümlerde HBase performansını etkileyen bazı önemli yapılandırma ayarları açıklanmaktadır.
HBASE_HEAPSIZE ayarlama
Not
Bu makalede, Microsoft'un artık kullanmadığını belirten ana terime başvurular yer alır. Terim yazılımdan kaldırıldığında, bu makaleden kaldıracağız.
HBase yığın boyutu, bölge ve ana sunuculara göre megabayt cinsinden kullanılacak maksimum yığın miktarını belirtir. Varsayılan değer 1.000 MB'tır. Bu değer küme iş yükü için ayarlanmalıdır.
Değiştirmek için HBase Yapılandırmaları sekmesinde gelişmiş HBase-env bölmesine gidin ve ardından ayarı bulun
HBASE_HEAPSIZE
.Varsayılan değeri 5.000 MB olarak değiştirin.
Yoğun okunan iş yüklerini iyileştirme
Okuma ağırlıklı iş yüklerinin performansını geliştirmek için aşağıdaki yapılandırmalar önemlidir.
Önbellek boyutunu engelle
Blok önbelleği okuma önbelleğidir. hfile.block.cache.size
parametresi blok önbelleği boyutunu denetler. Varsayılan değer, toplam bölge sunucusu belleğinin yüzde 40'ı olan 0,4'tür. Blok önbelleği boyutu daha büyükse, rastgele okumalar daha hızlı olur.
Bu parametreyi değiştirmek için HBase Yapılandırmaları sekmesindeki Ayarlar sekmesine gidin ve ardından Okuma Arabelleklerine Ayrılan RegionServer %'sini bulun.
Değeri değiştirmek için Düzenle simgesini seçin.
Memstore boyutu
Tüm düzenlemeler, Memstore adı verilen bellek arabelleğinde depolanır. Bu arabellek, tek bir işlemde diske yazılabilir toplam veri miktarını artırır. Ayrıca son düzenlemelere erişimi hızlandırır. Memstore boyutu aşağıdaki iki parametreyi tanımlar:
hbase.regionserver.global.memstore.UpperLimit
: Memstore'nun bir araya getirebileceği bölge sunucusunun en yüksek yüzdesini tanımlar.hbase.regionserver.global.memstore.LowerLimit
: Memstore'nun bir araya getirebileceği bölge sunucusunun en düşük yüzdesini tanımlar.
Rastgele okumaları iyileştirmek için Memstore üst ve alt sınırlarını azaltabilirsiniz.
Diskten tarama yaparken getirilen satır sayısı
ayarı, hbase.client.scanner.caching
yöntem tarayıcıda çağrıldığında next
diskten okunan satır sayısını tanımlar. Varsayılan değer 100 şeklindedir. Sayı ne kadar yüksek olursa, istemciden bölge sunucusuna yapılan uzak çağrı sayısı o kadar az olur ve taramalar o kadar hızlı olur. Ancak, bu ayar istemci üzerindeki bellek baskısını artırır.
Önemli
Bir tarayıcıda sonraki yöntemin çağrılması arasındaki süre tarayıcı zaman aşımından büyük olacak şekilde değeri ayarlamayın. Tarayıcı zaman aşımı süresi özelliği tarafından hbase.regionserver.lease.period
tanımlanır.
Yoğun yazma iş yüklerini iyileştirme
Aşağıdaki yapılandırmalar, yoğun yazma içeren iş yüklerinin performansını geliştirmek için önemlidir.
Bölge dosya boyutu üst sınırı
HBase verileri adlı HFile
bir iç dosya biçiminde depolar. özelliği hbase.hregion.max.filesize
, bir bölge için tek HFile
bir boyutu tanımlar. Bir bölgedeki tümünün HFiles
toplamı bu ayardan büyükse, bölge iki bölgeye ayrılır.
Bölge dosya boyutu ne kadar büyükse bölme sayısı da o kadar az olur. En yüksek yazma performansına neden olan bir değeri belirlemek için dosya boyutunu artırabilirsiniz.
Güncelleştirme engellemeyi önleme
özelliği
hbase.hregion.memstore.flush.size
, Memstore'nun diske boşaltıldığı boyutu tanımlar. Varsayılan boyut 128 MB'tır.HBase
hbase.hregion.memstore.block.multiplier
bölge bloğu çarpanını tanımlar. Varsayılan değer 4 şeklindedir. İzin verilen maksimum değer 8'dir.HBase, Memstore (
hbase.hregion.memstore.flush.size
*hbase.hregion.memstore.block.multiplier
) bayt olduğunda güncelleştirmeleri engeller.Varsayılan boşaltma boyutu ve blok çarpanı değerleriyle, Memstore boyutu 128 * 4 = 512 MB olduğunda güncelleştirmeler engellenir. Güncelleştirme engelleme sayısını azaltmak için değerini
hbase.hregion.memstore.block.multiplier
artırın.
Memstore boyutunu tanımlama
hbase.regionserver.global.memstore.upperLimit
ve hbase.regionserver.global.memstore.lowerLimit
parametreleri Memstore boyutunu tanımlar. Bu değerlerin birbirine eşit ayarlanması, yazma sırasındaki duraklamaları azaltır (ayrıca daha sık boşaltmaya neden olur) ve yazma performansının artmasına neden olur.
Memstore yerel ayırma arabelleği ayarlama
özelliği hbase.hregion.memstore.mslab.enabled
Memstore yerel ayırma arabellek kullanımını tanımlar. Etkinleştirildiğinde (true), bu ayar ağır yazma işlemi sırasında yığın parçalanmasını önler. Varsayılan değer doğru'dur.