Zrychlené zápisy služby Azure HDInsight pro Apache HBase

Tento článek obsahuje základní informace o funkci akcelerovaných zápisů pro Apache HBase v Azure HDInsight a o tom, jak ji efektivně použít ke zvýšení výkonu zápisu. Akcelerované zápisy využívají spravované disky Azure SSD úrovně Premium ke zlepšení výkonu dopředné protokolování Apache HBase. Další informace o Apache HBase najdete v tématu Co je Apache HBase ve službě HDInsight.

Přehled architektury HBase

V HBase se řádek skládá z jednoho nebo více sloupců a je identifikován klíčem řádku. Více řádků tvoří tabulku. Sloupce obsahují buňky, což jsou verze hodnoty v tomto sloupci s časovým razítkem. Sloupce jsou seskupené do rodin sloupců a všechny sloupce v rodině sloupců jsou uložené společně v souborech úložiště s názvem HFiles.

Oblasti v HBase slouží k vyrovnávání zatížení zpracování dat. HBase nejprve uloží řádky tabulky do jedné oblasti. Řádky jsou rozprostřené napříč několika oblastmi s tím, jak se zvyšuje množství dat v tabulce. Servery oblastí mohou zpracovávat požadavky pro více oblastí.

Dopředné protokolování pro Apache HBase

HBase nejprve zapisuje aktualizace dat do typu protokolu potvrzení, který se nazývá dopředné protokolování (WAL). Po uložení aktualizace do wal se zapisuje do memstoru v paměti. Když data v paměti dosáhne své maximální kapacity, zapisují se na disk jako HFile.

Pokud dojde k chybě RegionServer nebo se stane nedostupnou před vyprázdněním MemStore, je možné k přehrání aktualizací použít dopředný protokol zápisu. Pokud se bez souboru WAL oblastní server před vyprázdněním aktualizací do souboru HFile zhroutí, všechny tyto aktualizace se ztratí.

Funkce akcelerovaných zápisů v Azure HDInsight pro Apache HBase

Funkce Akcelerované zápisy řeší problém s vyšší latencí zápisu způsobeným použitím protokolů dopředu zápisu, které jsou v cloudovém úložišti. Funkce Akcelerované zápisy pro clustery HDInsight Apache HBase připojí disky spravované pomocí disku SSD úrovně Premium ke každému virtuálnímu počítači oblasti (pracovní uzel). Dopředné zápisy protokolů se pak zapíšou do systému souborů Hadoop (HDFS) připojeného k těmto prémiovým spravovaným diskům místo do cloudového úložiště. Premium spravované disky používají disky SSD Solid-State nabízejí vynikající výkon V/V s odolností proti chybám. Na rozdíl od nespravovaných disků platí, že pokud dojde k vypnutí jedné jednotky úložiště, neovlivní to ostatní jednotky úložiště ve stejné skupině dostupnosti. Díky tomu spravované disky poskytují nízkou latenci zápisu a lepší odolnost pro vaše aplikace. Další informace o spravovaných discích Azure najdete v tématu Úvod do spravovaných disků Azure.

Povolení akcelerovaných zápisů pro HBase ve službě HDInsight

Pokud chcete vytvořit nový cluster HBase pomocí funkce Akcelerované zápisy, postupujte podle kroků v tématu Nastavení clusterů ve službě HDInsight. Na kartě Základy vyberte typ clusteru jako HBase, zadejte verzi komponenty a potom klikněte na zaškrtávací políčko vedle položky Enable HBase accelerated writes (Povolit akcelerované zápisy HBase). Potom pokračujte zbývajícími kroky pro vytvoření clusteru.

Povolení akcelerovaných zápisů pro HDInsight Apache HBase

Další důležité informace

Pokud chcete zachovat stálost dat, vytvořte cluster s minimálně třemi pracovními uzly. Po vytvoření nemůžete cluster škálovat na méně než tři pracovní uzly.

Před odstraněním clusteru vyprázdněte nebo zakažte tabulky HBase, abyste neztrati dopředná data protokolu.

flush 'mytable'
disable 'mytable'

Při horizontálním navýšení kapacity clusteru postupujte podobně: vyprázdněním tabulek a zakázáním tabulek zastavte příchozí data. Cluster nemůžete škálovat na méně než tři uzly.

Provedením těchto kroků zajistíte úspěšné škálování dolů a vyhnete se možnému přechodu uzlu namenode do bezpečného režimu z důvodu nedostatku replikovaných nebo dočasných souborů.

Pokud váš uzel namenode po horizontálním navýšení velikosti přenechá do bezpečného režimu, pomocí příkazů hdfs znovu replikovat podreplikované bloky a dostat hdfs z bezpečného režimu. Tato opětovné replikace vám umožní úspěšně restartovat HBase.

Další kroky