Sdílet prostřednictvím


Optimalizace Apache HBase s využitím Apache Ambari ve službě Azure HDInsight

Apache Ambari je webové rozhraní pro správu a monitorování clusterů HDInsight. Úvod do webového uživatelského rozhraní Ambari najdete v tématu Správa clusterů HDInsight pomocí webového uživatelského rozhraní Apache Ambari.

Konfigurace Apache HBase se upraví na kartě Konfigurace HBase. Následující části popisují některá důležitá nastavení konfigurace, která ovlivňují výkon HBase.

Nastavení HBASE_HEAPSIZE

Poznámka:

Tento článek obsahuje odkazy na hlavní termín termín, který už Microsoft nepoužívá. Když se termín odebere ze softwaru, odebereme ho z tohoto článku.

Velikost haldy HBase určuje maximální velikost haldy, která se má použít v megabajtech podle oblastí a hlavních serverů. Výchozí hodnota je 1 000 MB. Tato hodnota by se měla ladit pro úlohu clusteru.

  1. Chcete-li upravit, přejděte do podokna Advanced HBase-env na kartě Konfigurace HBase a vyhledejte HBASE_HEAPSIZE nastavení.

  2. Změňte výchozí hodnotu na 5 000 MB.

    `Apache Ambari HBase memory heapsize`.

Optimalizace úloh náročných na čtení

Následující konfigurace jsou důležité ke zlepšení výkonu úloh náročných na čtení.

Velikost mezipaměti bloku

Bloková mezipaměť je mezipaměť pro čtení. Parametr hfile.block.cache.size řídí velikost mezipaměti bloku. Výchozí hodnota je 0,4, což je 40 procent celkové paměti serveru oblasti. Větší velikost mezipaměti bloku, rychlejší bude náhodné čtení.

  1. Chcete-li upravit tento parametr, přejděte na kartu Nastavení na kartě Konfigurace HBase a vyhledejte % of RegionServer Přiděleno pro vyrovnávací paměti pro čtení.

    Apache HBase memory block cache size.

  2. Pokud chcete změnit hodnotu, vyberte ikonu Upravit .

Velikost memstore

Všechny úpravy se ukládají do vyrovnávací paměti označované jako Memstore. Tato vyrovnávací paměť zvyšuje celkové množství dat, která lze zapisovat na disk v rámci jedné operace. Zároveň zrychluje přístup k nedávným úpravám. Velikost Memstore definuje následující dva parametry:

  • hbase.regionserver.global.memstore.UpperLimit: Definuje maximální procento serveru oblasti, který může použít kombinace Memstore.

  • hbase.regionserver.global.memstore.LowerLimit: Definuje minimální procento serveru oblasti, který může kombinovat Memstore.

Pokud chcete optimalizovat náhodné čtení, můžete snížit horní a dolní limity Memstore.

Počet řádků načtených při skenování z disku

Nastavení hbase.client.scanner.caching definuje počet řádků načtených z disku při next zavolání metody na skeneru. Výchozí hodnota je 100. Čím vyšší je číslo, tím méně vzdálených volání provedených z klienta na server oblasti, což vede k rychlejším kontrolám. Toto nastavení ale zvyšuje zatížení paměti u klienta.

Apache HBase number of rows fetched.

Důležité

Nenastavujte hodnotu tak, aby čas mezi vyvoláním další metody ve skeneru byl větší než časový limit skeneru. Doba časového limitu skeneru je definována hbase.regionserver.lease.period vlastností.

Optimalizace úloh náročných na zápis

Následující konfigurace jsou důležité ke zlepšení výkonu úloh náročných na zápis.

Maximální velikost souboru oblasti

HBase ukládá data v interním formátu souboru označovaného jako HFile. Vlastnost hbase.hregion.max.filesize definuje velikost jednoho HFile objektu pro oblast. Oblast je rozdělená do dvou oblastí, pokud je součet všech HFiles v oblasti větší než toto nastavení.

`Apache HBase HRegion max filesize`.

Čím větší je velikost souboru oblasti, tím menší je počet rozdělení. Velikost souboru můžete zvětšit a určit hodnotu, která má za následek maximální výkon zápisu.

Vyhněte se blokování aktualizací

  • Vlastnost hbase.hregion.memstore.flush.size definuje velikost, při které je Memstore vyprázdněna na disk. Výchozí velikost je 128 MB.

  • Definuje hbase.hregion.memstore.block.multiplier násobitel bloku oblasti HBase. Výchozí hodnota je 4. Maximální povolená hodnota je 8.

  • HBase blokuje aktualizace, pokud je memstore (hbase.hregion.memstore.flush.size * hbase.hregion.memstore.block.multiplier) bajty.

    U výchozích hodnot velikostí vyprázdnění a násobitele bloků se aktualizace zablokují, když má Memstore velikost 128 × 4 = 512 MB. Chcete-li snížit počet blokování aktualizací, zvyšte hodnotu hbase.hregion.memstore.block.multiplier.

Apache HBase Region Block Multiplier.

Definovat velikost memstore

Parametry hbase.regionserver.global.memstore.upperLimit definují hbase.regionserver.global.memstore.lowerLimit velikost Memstore. Nastavení těchto hodnot se rovná sobě snižuje pozastavení během zápisu (což také způsobuje častější vyprázdnění) a vede ke zvýšení výkonu zápisu.

Nastavení vyrovnávací paměti pro místní přidělení Memstore

Vlastnost hbase.hregion.memstore.mslab.enabled definuje využití vyrovnávací paměti místního přidělení Memstore. Pokud je tato možnost povolená (true), zabrání toto nastavení fragmentaci haldy během náročné operace zápisu. Výchozí hodnota je true.

hbase.hregion.memstore.mslab.enabled.

Další kroky