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.

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

  2. Módosítsa az alapértelmezett értéket 5000 MB-ra.

    `Apache Ambari HBase memory heapsize`.

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

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

    Apache HBase memory block cache size.

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

Apache HBase number of rows fetched.

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.

`Apache HBase HRegion max filesize`.

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.

Apache HBase Region 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.

hbase.hregion.memstore.mslab.enabled.

Következő lépések