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 med en radnyckel. Flera rader utgör en tabell. Kolumner innehåller celler, som är tidsstämplade versioner av värdet i kolumnen. Kolumner grupperas i kolumnfamiljer och alla kolumner i en kolumnfamilj lagras tillsammans i lagringsfiler med namnet HFiles.
Regioner i HBase används för att balansera databearbetningsbelastningen. HBase lagrar först raderna i en tabell i en enda region. Raderna sprids över flera regioner när mängden data i tabellen ökar. Regionservrar kan hantera begäranden för flera regioner.
Write Ahead Log för Apache HBase
HBase skriver först datauppdateringar till en typ av genomförandelogg som kallas Write Ahead Log (WAL). När uppdateringen har lagrats i WAL skrivs den till den minnes minnesbaserade MemStore. När data i minnet når sin maximala kapacitet skrivs de till disk som en HFile.
Om en RegionServer kraschar eller blir otillgänglig innan MemStore rensas, kan write ahead-loggen 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 accelererade skrivningar i Azure HDInsight för Apache HBase
Funktionen accelererade skrivningar löser problemet med högre skrivfördröjningar som orsakas av användning av Write Ahead-loggar som finns i molnlagringen. Funktionen Accelererade skrivningar för HDInsight Apache HBase-kluster ansluter Premium SSD-hanterade diskar till varje RegionServer (arbetsnod). Write Ahead-loggar skrivs sedan till Hadoop-filsystemet (HDFS) som monterats på dessa premium-hanterade diskar i stället för molnlagring. Premium managed-disks använder Solid-State(SSD) och erbjuder utmärkt I/O-prestanda med feltolerans. Till skillnad från ohanterade diskar påverkar inte en lagringsenhet andra lagringsenheter i samma tillgänglighetsuppsättning om en lagringsenhet slutar att gälla. Det innebär att managed-disks ger 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.
Ytterligare överväganden
Om du vill bevara datatillförlitligheten skapar du ett kluster med minst tre arbetsnoder. När klustret har skapats kan du inte skala ned det till färre än tre arbetsnoder.
Rensa eller inaktivera dina HBase-tabeller innan du tar bort klustret, så att du inte förlorar Write Ahead Log-data.
flush 'mytable'
disable 'mytable'
Följ liknande steg när du skalar ned klustret: rensa dina tabeller 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 dessa steg säkerställer du en lyckad nedskalning och undviker möjligheten att en namnnod förs i felsäkert läge på grund av under-replikerade eller tillfälliga filer.
Om namnnoden förfaller i felsäkert läge efter en nedskalning använder du hdfs-kommandon för att replikera om de under-replikerade blocken och få hdfs ur felsäkert läge. Med den här omreplikeringen kan du starta om HBase.
Nästa steg
- Officiell Apache HBase-dokumentation om funktionen Write Ahead Log
- Om du vill uppgradera ditt HDInsight Apache HBase-kluster för att använda accelererade skrivningar kan du gå till Migrera ett Apache HBase-kluster till en ny version.