Usługa Azure HDInsight — przyspieszone zapisy dla oprogramowania Apache HBase

Ten artykuł zawiera podstawowe informacje na temat funkcji przyspieszonych operacji zapisu dla bazy danych Apache HBase Azure HDInsight oraz sposobu jej efektywnego działania w celu zwiększenia wydajności zapisu. Przyspieszone zapis używa dysków zarządzanych SSD w warstwie Azure Premium, aby zwiększyć wydajność usługi Apache HBase Write Ahead Log (WAL). Aby dowiedzieć się więcej na temat bazy danych Apache HBase, zobacz Co to jest baza danych Apache HBase w umacie HDInsight.

Omówienie architektury bazy danych HBase

W bazie HBase wiersz składa się z co najmniej jednej kolumny i jest identyfikowany za pomocą klucza wiersza. Wiele wierszy zawiera tabelę. Kolumny zawierają komórki, które są wersjami wartości w tej kolumnie ze znacznikami czasu. Kolumny są pogrupowane w rodziny kolumn, a wszystkie kolumny w rodzinie kolumn są przechowywane razem w plikach magazynu o nazwie HFiles.

Regiony w bazie HBase są używane do równoważenia obciążenia przetwarzania danych. Baza HBase najpierw przechowuje wiersze tabeli w jednym regionie. Wiersze są rozłożone w wielu regionach w przypadku wzrostu ilości danych w tabeli. Serwery regionów mogą obsługiwać żądania w wielu regionach.

Pisanie dziennika z wyprzedzeniem dla bazy danych Apache HBase

Baza HBase najpierw zapisuje aktualizacje danych do typu dziennika zatwierdzeń nazywanego dziennikami zapisu z wyprzedzeniem (WAL). Po zapisaniu aktualizacji WAL jest ona zapisywana w pamięci magazynu MemStore. Gdy dane w pamięci osiągną maksymalną pojemność, są zapisywane na dysku jako plik HFile.

Jeśli serwer RegionServer ulega awarii lub staje się niedostępny przed opróżnieniem magazynu MemStore, można użyć dziennika zapisu z wyprzedzeniem, aby odtworzyć aktualizacje. Jeśli serwer RegionServer ulega awarii bez usługi WAL przed opróżnionym plikiem HFile, wszystkie te aktualizacje zostaną utracone.

Funkcja przyspieszonych operacji zapisu w Azure HDInsight dla bazy danych Apache HBase

Funkcja przyspieszonego zapisu rozwiązuje problem wyższych opóźnień zapisu spowodowanych używaniem dzienników zapisu z wyprzedzeniem, które znajdują się w magazynie w chmurze. Funkcja przyspieszonego zapisu dla klastrów Apache HBase w usłudze HDInsight dołącza dyski zarządzane SSD w warstwie Premium do każdego serwera RegionServer (węzła procesu roboczego). Dzienniki zapisu z wyprzedzeniem są następnie zapisywane w systemie plików Hadoop (HDFS) zainstalowanym na tych dyskach zarządzanych w warstwie Premium zamiast w magazynie w chmurze. Premium dyski zarządzane używają dysków Solid-State (SSD) i oferują doskonałą wydajność we/wy z odpornością na uszkodzenia. W przeciwieństwie do dysków niezaiemanych, jeśli jedna jednostka magazynowa nie działa, nie wpłynie to na inne jednostki magazynowe w tym samym zestawie dostępności. Dzięki temu dyski zarządzane zapewniają małe opóźnienia zapisu i lepszą odporność aplikacji. Aby dowiedzieć się więcej na temat dysków zarządzanych przez platformę Azure, zobacz Wprowadzenie do dysków zarządzanych platformy Azure.

How to enable Accelerated Writes for HBase in HDInsight

Aby utworzyć nowy klaster HBase za pomocą funkcji przyspieszonego zapisu, wykonaj kroki opisane w temacie Konfigurowanie klastrów w umacie HDInsight. Na karcie Podstawowe wybierz typ klastra HBase, określ wersję składnika, a następnie kliknij pole wyboru obok opcji Włącz przyspieszone zapis bazy danych HBase. Następnie przejdź do pozostałych kroków tworzenia klastra.

Włączanie opcji przyspieszonego zapisu dla bazy danych Apache HBase usługi HDInsight

Inne zagadnienia

Aby zachować trwałość danych, utwórz klaster z co najmniej trzema węzłami procesu roboczego. Po utworzeniu nie można skalować klastra w dół do mniej niż trzech węzłów procesu roboczego.

Opróżnij lub wyłącz tabele bazy danych HBase przed usunięciem klastra, aby nie utracić danych z dziennika zapisu z wyprzedzeniem.

flush 'mytable'
disable 'mytable'

Wykonaj podobne kroki podczas skalowania klastra w dół: opróżnij tabele i wyłącz tabele, aby zatrzymać przychodzące dane. Nie można skalować klastra w dół do mniej niż trzech węzłów.

Poniższe kroki zapewnią pomyślne skalowanie w dół i zapobiegną możliwości przejściu w tryb awaryjny węzłem nazwy z powodu niereplikowanych lub tymczasowych plików.

Jeśli po skalowania w dół twój węzło namenode zostanie w trybie awaryjnym, użyj poleceń hdfs, aby ponownie zreplikować niedoreplikowane bloki i wywrócić system hdfs z trybu bezpiecznego. Ta ponowna replikacja umożliwi pomyślne ponowne uruchomienie bazy danych HBase.

Następne kroki