Escritas Aceleradas do Azure HDInsight para o Apache HBase

Este artigo fornece informações básicas sobre o recurso Gravações Aceleradas para Apache HBase no Azure HDInsight e como ele pode ser usado efetivamente para melhorar o desempenho de gravação. O Accelerated Writes usa discos gerenciados SSD premium do Azure para melhorar o desempenho do Apache HBase Write Ahead Log (WAL). Para saber mais sobre o Apache HBase, consulte O que é o Apache HBase no HDInsight.

Visão geral da arquitetura do HBase

No HBase, uma linha consiste em uma ou mais colunas e é identificada por uma chave de linha. Várias linhas compõem uma tabela. As colunas contêm células, que são versões com carimbo de data/hora do valor nessa coluna. As colunas são agrupadas em famílias de colunas e todas as colunas de uma família de colunas são armazenadas juntas em arquivos de armazenamento chamados HFiles.

As regiões no HBase são usadas para equilibrar a carga de processamento de dados. O HBase primeiro armazena as linhas de uma tabela em uma única região. As linhas são distribuídas por várias regiões à medida que a quantidade de dados na tabela aumenta. Os Servidores de Região podem lidar com solicitações para várias regiões.

Escreva com antecedência o log para o Apache HBase

O HBase primeiro grava atualizações de dados em um tipo de log de confirmação chamado Write Ahead Log (WAL). Depois que a atualização é armazenada no WAL, ela é gravada no MemStore na memória. Quando os dados na memória atingem sua capacidade máxima, eles são gravados no disco como um HFilearquivo .

Se um RegionServer falhar ou ficar indisponível antes que o MemStore seja liberado, o Write Ahead Log poderá ser usado para reproduzir atualizações. Sem o WAL, se um RegionServer falhar antes de liberar atualizações para um HFile, todas essas atualizações serão perdidas.

Recurso de gravações aceleradas no Azure HDInsight para Apache HBase

O recurso Gravações aceleradas resolve o problema de latências de gravação mais altas causadas pelo uso de logs de gravação antecipada que estão no armazenamento em nuvem. O recurso Gravações Aceleradas para clusters HDInsight Apache HBase conecta discos premium gerenciados por SSD a cada RegionServer (nó de trabalho). Os logs de gravação antecipada são então gravados no Hadoop File System (HDFS) montado nesses discos gerenciados premium em vez do armazenamento em nuvem. Os discos gerenciados Premium usam discos de estado sólido (SSDs) e oferecem excelente desempenho de E/S com tolerância a falhas. Ao contrário dos discos não gerenciados, se uma unidade de armazenamento ficar inativa, isso não afetará outras unidades de armazenamento no mesmo conjunto de disponibilidade. Como resultado, os discos gerenciados fornecem baixa latência de gravação e melhor resiliência para seus aplicativos. Para saber mais sobre discos gerenciados pelo Azure, consulte Introdução aos discos gerenciados do Azure.

Como habilitar gravações aceleradas para HBase no HDInsight

Para criar um novo cluster HBase com o recurso Gravações Aceleradas, siga as etapas em Configurar clusters no HDInsight. Na guia Noções básicas, selecione tipo de cluster como HBase, especifique uma versão do componente e clique na caixa de seleção ao lado de Habilitar gravações aceleradas do HBase. Em seguida, continue com as etapas restantes para a criação do cluster.

Enable accelerated writes option for HDInsight Apache HBase.

Verificar se o recurso Gravações Aceleradas foi ativado

Você pode usar o portal do Azure para verificar se o recurso Gravações Aceleradas está habilitado em um cluster HBASE.

  1. Pesquise seu cluster HBASE no portal do Azure.
  2. Selecione a folha Tamanho do cluster .
  3. Discos premium por nó de trabalho serão exibidos.

Dimensionamento de clusters HBASE

Para preservar a durabilidade dos dados, crie um cluster com um mínimo de três nós de trabalho. Uma vez criado, não é possível reduzir o cluster para menos de três nós de trabalho.

Libere ou desabilite as tabelas do HBase antes de excluir o cluster, para não perder os dados do Write Ahead Log.

flush 'mytable'
disable 'mytable'

Siga etapas semelhantes ao reduzir o cluster: libere as tabelas e desative as tabelas para interromper a entrada de dados. Não é possível reduzir o cluster para menos de três nós.

Seguir essas etapas garantirá uma redução bem-sucedida e evitará a possibilidade de um nó de nome entrar no modo de segurança devido a arquivos sub-replicados ou temporários.

Se o seu namenode entrar no modo de segurança após uma redução de escala, use os comandos hdfs para replicar novamente os blocos sub-replicados e tirar o hdfs do modo de segurança. Essa nova replicação permitirá que você reinicie o HBase com êxito.

Próximos passos