Azure HDInsight-accelererade skrivningar för Apache HBase

Den här artikeln innehåller bakgrundsinformation om funktionen Accelererade skrivningar för Apache HBase i Azure HDInsight och hur den kan användas effektivt för att förbättra skrivprestanda. Accelererade skrivningar använder Azure Premium SSD-hanterade diskar för att förbättra prestanda för Apache HBase Write Ahead Log (WAL). Mer information om Apache HBase finns i Vad är Apache HBase i HDInsight.

Översikt över HBase-arkitektur

I HBase består en rad av en eller flera kolumner och identifieras av en radnyckel. Flera rader utgör en tabell. Kolumner innehåller celler, som är tidsstämplade versioner av värdet i den kolumnen. Kolumner grupperas i kolumnfamiljer och alla kolumner i en kolumnfamilj lagras tillsammans i lagringsfiler som kallas HFiles.

Regioner i HBase används för att balansera databearbetningsbelastningen. HBase lagrar först raderna i en tabell i en enda region. Raderna är fördelade över flera regioner när mängden data i tabellen ökar. Regionservrar kan hantera begäranden för flera regioner.

Skriv framåtlogg för Apache HBase

HBase skriver först datauppdateringar till en typ av incheckningslogg som kallas en WAL (Write Ahead Log). När uppdateringen har lagrats i WAL skrivs den till minnesintern MemStore. När data i minnet når sin maximala kapacitet skrivs de till disken som en HFile.

Om en RegionServer kraschar eller blir otillgänglig innan MemStore töms kan loggen Write Ahead användas för att spela upp uppdateringar igen. Utan WAL går alla dessa uppdateringar förlorade om en RegionServer kraschar innan uppdateringar rensas till en HFile.

Funktionen för accelererade skrivningar i Azure HDInsight för Apache HBase

Funktionen Accelererade skrivningar löser problemet med högre skrivfördröjningar som orsakas av att skriva framåt-loggar som finns i molnlagringen. Funktionen Accelererade skrivningar för HDInsight Apache HBase-kluster ansluter Premium SSD-hanterade diskar till varje RegionServer (arbetsnod). Skriv framåtloggar skrivs sedan till Hadoop-filsystemet (HDFS) som monterats på dessa premiumhanterade diskar i stället för molnlagring. Premium hanterade diskar använder Solid-State diskar (SSD) och ger utmärktA I/O-prestanda med feltolerans. Till skillnad från ohanterade diskar påverkar det inte andra lagringsenheter i samma tillgänglighetsuppsättning om en lagringsenhet slutar fungera. Därför ger hanterade diskar låg skrivfördröjning och bättre återhämtning för dina program. Mer information om Azure-hanterade diskar finns i Introduktion till Azure-hanterade diskar.

Så här aktiverar du accelererade skrivningar för HBase i HDInsight

Om du vill skapa ett nytt HBase-kluster med funktionen Accelererade skrivningar följer du stegen i Konfigurera kluster i HDInsight. På fliken Grundläggande väljer du klustertyp som HBase, anger en komponentversion och klickar sedan på kryssrutan bredvid Aktivera HBase-accelererade skrivningar. Fortsätt sedan med de återstående stegen för att skapa kluster.

Enable accelerated writes option for HDInsight Apache HBase

Ytterligare överväganden

Om du vill bevara datahållbarheten skapar du ett kluster med minst tre arbetsnoder. När du har skapat det kan du inte skala ned klustret till färre än tre arbetsnoder.

Rensa eller inaktivera dina HBase-tabeller innan du tar bort klustret, så att du inte förlorar Loggdata för skrivning framåt.

flush 'mytable'
disable 'mytable'

Följ liknande steg när du skalar ned klustret: rensa tabellerna och inaktivera dina tabeller för att stoppa inkommande data. Du kan inte skala ned klustret till färre än tre noder.

Genom att följa de här stegen säkerställer du en lyckad nedskalning och undviker möjligheten att en namnnod hamnar i felsäkert läge på grund av underreeplikerade eller tillfälliga filer.

Om din namnnod hamnar i safemode efter en nedskalning använder du hdfs-kommandon för att replikera de underreparerade blocken igen och få hdfs ur felsäkert läge. Med den här replikeringen kan du starta om HBase.

Nästa steg