Az Apache HBase optimalizálása az Apache Ambarival az Azure HDInsightban
Az Apache Ambari egy webes felület a HDInsight-fürtök kezeléséhez és monitorozásához. Az Ambari webes felhasználói felületének bemutatása: HDInsight-fürtök kezelése az Apache Ambari webes felhasználói felületének használatával.
Az Apache HBase konfigurációja a HBase Configs lapról módosul. Az alábbi szakaszok a HBase teljesítményét befolyásoló fontos konfigurációs beállítások némelyikét ismertetik.
HBA beállítása Standard kiadás_HEAPSIZE
Feljegyzés
Ez a cikk a Microsoft által már nem használt kifejezésre, a főkifejezésre mutató hivatkozásokat tartalmaz. Ha a kifejezés el lesz távolítva a szoftverből, eltávolítjuk ebből a cikkből.
A HBase-halomméret határozza meg a régió és a főkiszolgálók megabájtjaiban használandó halom maximális mennyiségét. Az alapértelmezett érték 1000 MB. Ezt az értéket a fürt számítási feladataihoz kell hangolni.
A módosításhoz lépjen a Speciális HBase-env panelre a HBase Configs lapon, majd keresse meg a
HBASE_HEAPSIZE
beállítást.Módosítsa az alapértelmezett értéket 5000 MB-ra.
Írásvédett számítási feladatok optimalizálása
A következő konfigurációk fontosak az írásvédett számítási feladatok teljesítményének javítása érdekében.
Blokkgyorsítótár mérete
A blokkgyorsítótár az olvasási gyorsítótár. A hfile.block.cache.size
paraméter vezérli a blokkgyorsítótár méretét. Az alapértelmezett érték 0,4, ami a régiókiszolgáló teljes memóriájának 40 százaléka. Nagyobb a blokkgyorsítótár mérete, gyorsabb lesz a véletlenszerű olvasás.
A paraméter módosításához lépjen a HBase Configs lap Gépház lapjára, majd keresse meg az olvasási pufferekhez lefoglalt RegionServer %-t.
Az érték módosításához válassza a Szerkesztés ikont.
Memstore méret
Minden szerkesztés a memóriapufferben, úgynevezett Memstore-ban van tárolva. Ez a puffer növeli a lemezre egyetlen művelet során írható adatok teljes mennyiségét. Emellett gyors hozzáférést biztosít a legutóbbi módosításokhoz. A Memstore mérete a következő két paramétert határozza meg:
hbase.regionserver.global.memstore.UpperLimit
: Meghatározza a Memstore által együttesen használható régiókiszolgáló maximális százalékos arányát.hbase.regionserver.global.memstore.LowerLimit
: Meghatározza a Memstore által együttesen használható régiókiszolgáló minimális százalékos arányát.
A véletlenszerű olvasásokra való optimalizáláshoz csökkentheti a Memstore felső és alsó korlátait.
A lemezről történő vizsgálatkor beolvasott sorok száma
A hbase.client.scanner.caching
beállítás határozza meg a lemezről beolvasott sorok számát, amikor a next
metódus be van hívva egy szkenneren. Az alapértelmezett érték 100. Minél nagyobb a szám, annál kevesebb távoli hívás történik az ügyfélről a régiókiszolgálóra, ami gyorsabb vizsgálatot eredményez. Ez a beállítás azonban növeli az ügyfélre nehezedő memóriaterhelést.
Fontos
Ne állítsa be az értéket úgy, hogy a következő metódus meghívása közötti idő nagyobb legyen, mint a képolvasó időtúllépése. A képolvasó időtúllépési időtartamát a hbase.regionserver.lease.period
tulajdonság határozza meg.
Az írási terhelésű számítási feladatok optimalizálása
A következő konfigurációk fontosak az írási nehéz számítási feladatok teljesítményének javítása érdekében.
A régió fájlméretének maximális száma
A HBase az adatokat belső fájlformátumban, úgynevezett HFile
. A tulajdonság hbase.hregion.max.filesize
egyetlen régió méretét HFile
határozza meg. A régiók két régióra oszlanak, ha egy régióban az összes HFiles
összege nagyobb ennél a beállításnál.
Minél nagyobb a régió fájlmérete, annál kisebb a felosztások száma. A fájlméret növelésével meghatározható egy olyan érték, amely a maximális írási teljesítményt eredményezi.
A frissítés blokkolásának elkerülése
A tulajdonság
hbase.hregion.memstore.flush.size
határozza meg a Memstore lemezre való kiürítési méretét. Az alapértelmezett méret 128 MB.A
hbase.hregion.memstore.block.multiplier
HBase-régió blokkszorzójának meghatározása. Az alapértelmezett érték 4. A megengedett maximális érték 8.A HBase letiltja a frissítéseket, ha a Memstore (
hbase.hregion.memstore.flush.size
*hbase.hregion.memstore.block.multiplier
) bájt.A kiürítési méret és a blokkszorzó alapértelmezett értékeivel a frissítések le lesznek tiltva, ha a Memstore mérete 128 * 4 = 512 MB. A frissítésblokkolások számának csökkentéséhez növelje az értékét
hbase.hregion.memstore.block.multiplier
.
A Memstore méretének meghatározása
A hbase.regionserver.global.memstore.upperLimit
paraméterek a hbase.regionserver.global.memstore.lowerLimit
Memstore méretét határozzák meg. Ezeknek az értékeknek az egymással egyenlő beállítása csökkenti a szüneteket az írások során (ami gyakoribb kipirulást is okoz), és nagyobb írási teljesítményt eredményez.
A Memstore helyi foglalási pufferének beállítása
A tulajdonság hbase.hregion.memstore.mslab.enabled
a Memstore helyi foglalási pufferhasználatát határozza meg. Ha engedélyezve van (igaz), ez a beállítás megakadályozza a halom töredezettségét a nehéz írási művelet során. Az alapértelmezett érték igaz.