Escritas Aceleradas do Azure HDInsight para o Apache HBaseAzure HDInsight Accelerated Writes for Apache HBase

Este artigo fornece o fundo sobre a funcionalidade Escritas Aceleradas para Apache HBase em Azure HDInsight, e como pode ser usado eficazmente para melhorar o desempenho da escrita.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. A Accelerated Writes utiliza discos geridos Azure premium SSD para melhorar o desempenho do 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). Para saber mais sobre o Apache HBase, consulte o que é Apache HBase em HDInsight.To learn more about Apache HBase, see What is Apache HBase in HDInsight.

Visão geral da arquitetura HBaseOverview of HBase architecture

Na Base H, uma linha é constituída por uma ou mais colunas e é identificada por uma chave de linha.In HBase, a row consists of one or more columns and is identified by a row key. Várias filas compõem uma mesa.Multiple rows make up a table. As colunas contêm células, que são versões com tempo do valor nessa coluna.Columns contain cells, which are timestamped versions of the value in that column. As colunas são agrupadas em famílias de colunas, e todas as colunas de uma coluna-família são armazenadas juntas em ficheiros de armazenamento chamados HFiles.Columns are grouped into column families, and all columns in a column-family are stored together in storage files called HFiles.

As regiões da Base H são utilizadas para equilibrar a carga de processamento de dados.Regions in HBase are used to balance the data processing load. A HBase armazena primeiro as filas de uma mesa numa única região.HBase first stores the rows of a table in a single region. As linhas estão espalhadas por várias regiões à medida que a quantidade de dados na tabela aumenta.The rows are spread across multiple regions as the amount of data in the table increases. Os Servidores da Região podem lidar com pedidos para várias regiões.Region Servers can handle requests for multiple regions.

Escreva antecipadamente para Apache HBaseWrite Ahead Log for Apache HBase

O HBase escreve pela primeira vez atualizações de dados para um tipo de registo de compromisso chamado Write Ahead Log (WAL).HBase first writes data updates to a type of commit log called a Write Ahead Log (WAL). Depois de a atualização ser armazenada no WAL, é escrita para a MemStore in-memory .After the update is stored in the WAL, it's written to the in-memory MemStore. Quando os dados na memória atingem a sua capacidade máxima, é escrito para o disco como um HFile.When the data in memory reaches its maximum capacity, it's written to disk as an HFile.

Se um RegiãoServer falhar ou ficar indisponível antes da MemStore ser lavada, o Write Ahead Log pode ser utilizado para reproduzir atualizações.If a RegionServer crashes or becomes unavailable before the MemStore is flushed, the Write Ahead Log can be used to replay updates. Sem o WAL, se um RegionalServer se despenhar antes de descarregar atualizações para um HFile, todas essas atualizações são perdidas.Without the WAL, if a RegionServer crashes before flushing updates to an HFile, all of those updates are lost.

Funcionalidade de Escritas Aceleradas em Azure HDInsight para Apache HBaseAccelerated Writes feature in Azure HDInsight for Apache HBase

A funcionalidade Writes Acelerada resolve o problema das mais altas latências de escrita causadas pela utilização de Write Ahead Logs que estão no armazenamento em nuvem.The Accelerated Writes feature solves the problem of higher write-latencies caused by using Write Ahead Logs that are in cloud storage. A funcionalidade De Escritas Aceleradas para clusters HDInsight Apache HBase, anexa discos geridos por SSD premium a todos os RegionServer (nó de trabalhador).The Accelerated Writes feature for HDInsight Apache HBase clusters, attaches premium SSD-managed disks to every RegionServer (worker node). Os Registos Antecipados são então escritos para o Sistema de Ficheiros Hadoop (HDFS) montado nestes discos geridos premium em vez de armazenamento em nuvem.Write Ahead Logs are then written to the Hadoop File System (HDFS) mounted on these premium managed-disks instead of cloud storage. Os discos geridos premium utilizam Solid-State Discos (SSDs) e oferecem um excelente desempenho de I/S com tolerância à falha.Premium managed-disks use Solid-State Disks (SSDs) and offer excellent I/O performance with fault tolerance. Ao contrário dos discos não geridos, se uma unidade de armazenamento cair, não afetará outras unidades de armazenamento no mesmo conjunto de disponibilidade.Unlike unmanaged disks, if one storage unit goes down, it won't affect other storage units in the same availability set. Como resultado, os discos geridos proporcionam baixa latência de escrita e melhor resiliência para as suas aplicações.As a result, managed-disks provide low write-latency and better resiliency for your applications. Para saber mais sobre discos geridos pelo Azure, consulte discos geridos introdução ao Azure.To learn more about Azure-managed disks, see Introduction to Azure managed disks.

Como ativar writes acelerados para HBase em HDInsightHow to enable Accelerated Writes for HBase in HDInsight

Para criar um novo cluster HBase com a funcionalidade Escritas Aceleradas, siga os passos em Configurar clusters em HDInsight.To create a new HBase cluster with the Accelerated Writes feature, follow the steps in Set up clusters in HDInsight. No separador Basics selecione o tipo de cluster como HBase, especifique uma versão componente e, em seguida, clique na caixa de verificação ao lado de Ativar as escritas aceleradas da HBase.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. Em seguida, continue com os passos restantes para a criação de clusters.Then, continue with the remaining steps for cluster creation.

Ativar a opção de escrita acelerada para HDInsight Apache HBase

Outras consideraçõesOther considerations

Para preservar a durabilidade dos dados, crie um cluster com um mínimo de três nós operários.To preserve data durability, create a cluster with a minimum of three worker nodes. Uma vez criado, não se pode reduzir o aglomerado para menos de três nós operários.Once created, you can't scale down the cluster to less than three worker nodes.

Lave ou desative as tabelas HBase antes de eliminar o cluster, para que não perca os dados do Write Ahead Log.Flush or disable your HBase tables before deleting the cluster, so that you don't lose Write Ahead Log data.

flush 'mytable'
disable 'mytable'

Siga passos semelhantes ao escalonar o seu cluster: lave as tabelas e desative as tabelas para impedir a entrada de dados.Follow similar steps when scaling down your cluster: flush your tables and disable your tables to stop incoming data. Não se pode reduzir o seu aglomerado para menos de três nós.You can't scale down your cluster to fewer than three nodes.

Seguindo estes passos, garantirá uma escala bem sucedida e evitará a possibilidade de um nome entrar em modo de segurança devido a ficheiros sub-replicados ou temporários.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.

Se o seu nome entrar em modo de segurança após uma escala baixa, utilize comandos hdfs para re-replicar os blocos sub-replicados e tirar os HDFs do modo de segurança.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. Esta re-replicação permitir-lhe-á reiniciar o HBase com sucesso.This re-replication will allow you to restart HBase successfully.

Passos seguintesNext steps