Azure HDInsight-accelererade skrivningar för Apache HBaseAzure HDInsight Accelerated Writes for Apache HBase

Den här artikeln innehåller en bakgrund för den accelererade skrivningar funktionen för Apache HBase i Azure HDInsight och hur den kan användas effektivt för att förbättra skriv prestanda.This article provides background on the Accelerated Writes feature for Apache HBase in Azure HDInsight, and how it can be used effectively to improve write performance. Accelererade skrivningar använder Azure Premium SSD-hanterade diskar för att förbättra prestandan hos Apache HBase Write Ahead log (Wal).Accelerated Writes uses Azure premium SSD managed disks to improve performance of the Apache HBase Write Ahead Log (WAL). Mer information om Apache HBase finns i Vad är Apache HBase i HDInsight.To learn more about Apache HBase, see What is Apache HBase in HDInsight.

Översikt över HBase-arkitekturenOverview of HBase architecture

I HBase består en rad av en eller flera kolumner och identifieras av en rad nyckel.In HBase, a row consists of one or more columns and is identified by a row key. Flera rader utgör en tabell.Multiple rows make up a table. Kolumner innehåller celler, som är tidsstämplade versioner av värdet i den kolumnen.Columns contain cells, which are timestamped versions of the value in that column. Kolumner grupperas i kolumn serier och alla kolumner i en kolumn serie lagras tillsammans i lagringsfiler som kallas HFiles.Columns are grouped into column families, and all columns in a column-family are stored together in storage files called HFiles.

Regioner i HBase används för att balansera belastningen på data bearbetningen.Regions in HBase are used to balance the data processing load. HBase lagrar först raderna i en tabell i en enda region.HBase first stores the rows of a table in a single region. Raderna sprids över flera regioner när mängden data i tabellen ökar.The rows are spread across multiple regions as the amount of data in the table increases. Region servrar kan hantera begär Anden för flera regioner.Region Servers can handle requests for multiple regions.

Skriv loggen i förväg för Apache HBaseWrite Ahead Log for Apache HBase

HBase skriver först data uppdateringar till en typ av inchecknings logg som kallas för Skriv logg (WAL).HBase first writes data updates to a type of commit log called a Write Ahead Log (WAL). När uppdateringen har lagrats i WAL skrivs den till InMemory- memstores.After the update is stored in the WAL, it's written to the in-memory MemStore. När data i minnet når sin maximala kapacitet, skrivs de till disk som en HFile.When the data in memory reaches its maximum capacity, it's written to disk as an HFile.

Om en RegionServer kraschar eller blir otillgänglig innan memstores töms, kan Skriv loggen användas för att spela upp uppdateringar igen.If a RegionServer crashes or becomes unavailable before the MemStore is flushed, the Write Ahead Log can be used to replay updates. Utan WAL, om en RegionServer kraschar innan uppdateringar av en HFile rensas, går alla dessa uppdateringar förlorade.Without the WAL, if a RegionServer crashes before flushing updates to an HFile, all of those updates are lost.

Accelererade skrivningar i Azure HDInsight för Apache HBaseAccelerated Writes feature in Azure HDInsight for Apache HBase

Funktionen accelererade skrivningar löser problemet med högre Skriv-fördröjning som orsakas av att skriva loggar som finns i moln lagring.The Accelerated Writes feature solves the problem of higher write-latencies caused by using Write Ahead Logs that are in cloud storage. Funktionen accelererade skrivningar för HDInsight Apache HBase-kluster, ansluter Premium SSD-hanterade diskar till varje RegionServer (arbetsnoden).The Accelerated Writes feature for HDInsight Apache HBase clusters, attaches premium SSD-managed disks to every RegionServer (worker node). Skriv loggar i förväg skrivs sedan till Hadoop-filsystemet (HDFS) som är monterat på dessa Premium-hanterade diskar i stället för till moln lagring.Write Ahead Logs are then written to the Hadoop File System (HDFS) mounted on these premium managed-disks instead of cloud storage. Premium-hanterade – diskar använder Solid-State diskar (SSD) och erbjuder utmärkt I/O-prestanda med fel tolerans.Premium managed-disks use Solid-State Disks (SSDs) and offer excellent I/O performance with fault tolerance. Till skillnad från ohanterade diskar påverkar den inte andra lagrings enheter i samma tillgänglighets uppsättning om en lagrings enhet slutar fungera.Unlike unmanaged disks, if one storage unit goes down, it won't affect other storage units in the same availability set. Det innebär att hanterade diskar ger låg Skriv fördröjning och bättre återhämtning för dina program.As a result, managed-disks provide low write-latency and better resiliency for your applications. Mer information om Azure-hanterade diskar finns i Introduktion till Azure Managed disks.To learn more about Azure-managed disks, see Introduction to Azure managed disks.

Så här aktiverar du påskyndade skrivningar för HBase i HDInsightHow to enable Accelerated Writes for HBase in HDInsight

Om du vill skapa ett nytt HBase-kluster med funktionen för accelererade skrivningar följer du stegen i Konfigurera kluster i HDInsight.To create a new HBase cluster with the Accelerated Writes feature, follow the steps in Set up clusters in HDInsight. På fliken grundläggande inställningar väljer du kluster typ som HBase, anger en komponent version och klickar sedan på kryss rutan bredvid Aktivera HBase-accelererade skrivningar.On the Basics tab select cluster type as HBase, specify a component version and then click on the checkbox next to Enable HBase accelerated writes. Fortsätt sedan med de återstående stegen för att skapa kluster.Then, continue with the remaining steps for cluster creation.

Aktivera alternativ för påskyndad skrivning för HDInsight Apache HBase

Ytterligare övervägandenOther considerations

Skapa ett kluster med minst tre arbetsnoder för att bevara data hållbarhet.To preserve data durability, create a cluster with a minimum of three worker nodes. När du har skapat det går det inte att skala upp klustret till färre än tre arbetsnoder.Once created, you can't scale down the cluster to less than three worker nodes.

Töm eller inaktivera HBase-tabellerna innan du tar bort klustret så att du inte förlorar Skriv logg data.Flush or disable your HBase tables before deleting the cluster, so that you don't lose Write Ahead Log data.

flush 'mytable'
disable 'mytable'

Följ liknande steg när du skalar ned klustret: Töm tabellerna och inaktivera dina tabeller för att stoppa inkommande data.Follow similar steps when scaling down your cluster: flush your tables and disable your tables to stop incoming data. Du kan inte skala ned klustret till färre än tre noder.You can't scale down your cluster to fewer than three nodes.

Genom att följa dessa steg kan du se till att det går att skala ned och undvika möjligheten för en namenode att försättas i fel säkert läge på grund av replikerade eller temporära filer.Following these steps will ensure a successful scale-down and avoid the possibility of a namenode going into safe mode due to under-replicated or temporary files.

Om din namenode går in i fel säkert läge efter en nedskalning, använder du HDFS-kommandon för att replikera de replikerade blocken på nytt och få HDFS ur fel säkert läge.If your namenode does go into safemode after a scale down, use hdfs commands to re-replicate the under-replicated blocks and get hdfs out of safe mode. Med den här omreplikeringen kan du starta om HBase.This re-replication will allow you to restart HBase successfully.

Nästa stegNext steps