Scritture accelerate di Azure HDInsight per Apache HBase

Questo articolo illustra in background la funzionalità Scritture accelerate per Apache HBase in Azure HDInsight e come può essere usata in modo efficace per migliorare le prestazioni di scrittura. Le scritture accelerate usano dischi gestiti ssd Premium di Azure per migliorare le prestazioni del log apache HBase Write Ahead (WAL). Per altre informazioni su Apache HBase, vedere Informazioni su Apache HBase in HDInsight.

Panoramica dell'architettura HBase

In HBase una riga è costituita da una o più colonne e viene identificata da una chiave di riga. Più righe costituiscono una tabella. Le colonne contengono celle, che sono versioni timestampate del valore in tale colonna. Le colonne vengono raggruppate in famiglie di colonne e tutte le colonne in una famiglia di colonne vengono archiviate insieme nei file di archiviazione denominati HFiles.

Le aree in HBase vengono usate per bilanciare il carico di elaborazione dei dati. HBase archivia prima le righe di una tabella in una singola area. Le righe vengono distribuite in più aree quando aumenta la quantità di dati nella tabella. I server di area possono gestire le richieste per più aree.

Scrittura del log in anticipo per Apache HBase

HBase scrive prima gli aggiornamenti dei dati in un tipo di log di commit denominato Write Ahead Log (WAL). Dopo aver archiviato l'aggiornamento in WAL, viene scritto nel MemStore in memoria. Quando i dati in memoria raggiungono la capacità massima, viene scritto su disco come HFile.

Se un RegionServer si arresta in modo anomalo o non è disponibile prima che il MemStore venga scaricato, è possibile usare il log write ahead per riprodurre gli aggiornamenti. Senza WAL, se un RegionServer si arresta in modo anomalo prima di scaricare gli aggiornamenti a un HFileoggetto , tutti questi aggiornamenti vengono persi.

Funzionalità Di scrittura accelerata in Azure HDInsight per Apache HBase

La funzionalità Scritture accelerate risolve il problema delle latenze di scrittura più elevate causate dall'uso dei log write ahead che si trovano nell'archiviazione cloud. La funzionalità Scritture accelerate per i cluster Apache HBase di HDInsight, collega dischi gestiti da SSD Premium a ogni regionServer (nodo di lavoro). I log in anticipo vengono quindi scritti nel file system Hadoop (HDFS) montati su questi dischi gestiti Premium anziché nell'archiviazione cloud. I dischi gestiti Premium usano dischi Solid-State (SSD) e offrono prestazioni di I/O eccellenti con tolleranza di errore. A differenza dei dischi non gestiti, se un'unità di archiviazione scende, non influisce su altre unità di archiviazione nello stesso set di disponibilità. Di conseguenza, i dischi gestiti offrono una bassa latenza di scrittura e una maggiore resilienza per le applicazioni. Per altre informazioni sui dischi gestiti da Azure, vedere Introduzione ai dischi gestiti di Azure.

Come abilitare le scritture accelerate per HBase in HDInsight

Per creare un nuovo cluster HBase con la funzionalità Scritture accelerate, seguire la procedura descritta in Configurare i cluster in HDInsight. Nella scheda Nozioni di base selezionare il tipo di cluster come HBase, specificare una versione del componente e quindi fare clic sulla casella di controllo accanto a Abilita scritture accelerate di HBase. Continuare quindi con i passaggi rimanenti per la creazione del cluster.

Abilitare l'opzione di scrittura accelerata per HDInsight Apache HBase

Verificare che la funzionalità Scrittura accelerata sia stata abilitata

È possibile usare il Azure-Portal per verificare se la funzionalità Scritture accelerate è abilitata in un cluster HBASE.

  1. Cercare il cluster HBASE nel Azure-Portal.
  2. Selezionare il pannello Dimensioni cluster .
  3. Verranno visualizzati dischi Premium per nodo di lavoro.

Ridimensionamento dei cluster HBASE

Per mantenere la durabilità dei dati, creare un cluster con almeno tre nodi di lavoro. Dopo aver creato, non è possibile ridurre il cluster a meno di tre nodi di lavoro.

Scaricare o disabilitare le tabelle HBase prima di eliminare il cluster, in modo da non perdere i dati di Log in anticipo di scrittura.

flush 'mytable'
disable 'mytable'

Seguire i passaggi simili durante il ridimensionamento del cluster: scaricare le tabelle e disabilitare le tabelle per arrestare i dati in ingresso. Non è possibile ridurre il cluster a meno di tre nodi.

Seguendo questa procedura, si garantisce un ridimensionamento corretto e si evita la possibilità di un nomenode in modalità sicura a causa di file con replica o temporanea.

Se il nomenode entra in modalità provvisoria dopo un ridimensionamento, usare i comandi hdfs per replicare nuovamente i blocchi sotto replicati e ottenere hdfs fuori dalla modalità provvisoria. Questa replica consentirà di riavviare correttamente HBase.

Passaggi successivi