HBase Sintonia Pré-requisitos

Qualquer instalação sério HBase requer alguma configuração padrão em seu conjunto e nos nós individuais. Alguns exemplos são fornecidos aqui. Primeiro dê uma olhada monitoramento e gerenciamento.

Ferramentas para monitorar o cluster

Se você já teve o privilégio de engenharia de um sistema em algum momento de sua carreira, você sabe que enfrentar o grande desafio de chegar com um procedimento de testes rigorosos para garantir que o seu sistema está pronto para a sua fase de produção. Se você não planejar para teste e depuração direita na frente, é provável que você perca seus prazos de produção ou falhar por completo.

Os committers HBase e Hadoop a certeza de que você teria um subsistema de métricas ricos para desenhar durante a fase de depuração e teste. Você pode encontrar todos os detalhes confusos na HBase documentação on-line, especialmente as seções lidar com HBase backup e replicação.

O recurso de replicação de cluster é uma ferramenta essencial quando a depuração, tuning ou se você deseja executar Map Reduce contra suas tabelas sem afetar o desempenho. Obviamente, você vai precisar dele para o desastre recuperar bem.

Começando com o Hadoop ferramentas de gestão conjunto é surpreendentemente fácil. HBase aproveita a tecnologia Java Management Extensions (JMX) para expor as principais métricas. E com a Máquina Virtual Java, você também terá a ferramenta JConsole, um cliente JMX gratuito que você pode usar para visualizar as métricas HBase.

A distribuição HBase temos vindo a trabalhar com (0.94.7) permite o acesso via JConsole por padrão, então em seu ambiente autônomo basta selecionar o servidor HBase que deseja monitorar e JConsole, em seguida, apresenta-o com uma interface gráfica do usuário para a visualização de chave métricas do servidor.

Você pode iniciar a ferramenta JConsole com o seguinte comando: $ JAVA_HOME / bin / jconsole

Além disso, você deve se familiarizar com estas duas outras tecnologias de código aberto para monitorar o cluster HBase:

  • gânglios: Muitas vezes usado para fornecer gráficos de monitoramento ao longo do tempo, os gânglios pode ajudar a detectar problemas que ocorrem ocasionalmente ou só depois de dias de operação.

  • Nagios: Nagios é útil se você for um administrador HBase e deseja receber uma página em seu pager ou um e-mail se, digamos, um RegionServer vai para baixo ou você tem um problema de coleta de lixo em seu cluster.

Se você está aproveitando HBase como parte de um produto comercial, certifique-se de verificar com o seu fornecedor para obter uma ferramenta para monitorar e gerenciar HBase.

instalação do cluster

HBase normalmente implanta em um cluster, e você vai precisar fazer alguns ajustes em cada um dos seus servidores para acomodar componentes HBase. Um bom primeiro passo é garantir que os relógios do sistema em cada servidor no cluster estão em sincronia.

Fora dos relógios do sistema de sincronização em seus servidores pode realmente confundir HBase, de modo a verificar o Network Time Protocol, ou NTP para breve. Executando o NTP no cluster vai cuidar de todos os problemas de sincronização de tempo.

Além disso, o HBase é uma aplicação única em certos aspectos, pois salienta o seu sistema para além do nível que as aplicações podem fazer. A verdade é que HBase vai estar abrindo um monte de arquivos - que é apenas a natureza da besta.

Dado esse fato, você precisa garantir que seus sistemas operacionais são configurados para lidar com o que é certo para ser uma carga sistema de arquivos longe de ser típico. Trocando em sua sistemas Linux (que se desloquem entre disco e memória, em outras palavras) funcionando pode ter efeitos muito negativos sobre Zookeeper.

Finalmente há a Máquina Virtual Java (JVM) que em última análise é executado em cada um dos seus nós e executa os processos HBase. HBase também põe o stress longe de ser típico na JVM. (Por exemplo, o cache MemStore, que exerce fortemente o sistema de coleta de lixo, é a certeza de ser tributados ao máximo.)

Quando o MemStore está empenhada em HFiles no HDFS, o heap Java é recuperado. Isso pode resultar em coleta de lixo longa pausa se o seu JVM não está configurado corretamente.

Assim, por todas estas razões e mais você deve rever essas duas seções da documentação on-line HBase:

  • Requisitos de configuração geral: Reveja o Capítulo 2 do HBase documentação on-line e, especialmente, a seção 2.5 intitulada "As configurações importantes".

  • Java Virtual Machine: Determinar qual JVM você está correndo e se certificar de que ele foi testado para compatibilidade com HBase. A documentação on-line HBase sugere Java 6 da Oracle, porque Java 7 ainda não foi completamente testado.

    Outra JVM é J9 da IBM. Se você pretende usar J9, rever a documentação da IBM para as últimas opções de linha de comando ao iniciar suas JVMs.

compressão permitindo

Compressão aumenta o desempenho HBase, reduzindo disco entrada / saída geral. Considere habilitar a compactação, a menos que os seus dados não são bem compactadas (imagens, por exemplo) ou se seus RegionServers não pode lidar com a carga de CPU adicional que a compressão e descompressão requer.

A compressão pode ser activada através do comando shell HBase. Por padrão, a compressão é desativado por família coluna. Os tipos de compactação suportados são Gzip, LZO e Snappy (com alguns outros derivados disponíveis e mais a caminho). GZIP é melhor global para atingir uma taxa de compressão bom, mas LZO e Snappy são mais rápidos.

Tenha em mente, porém, que tanto LZO e codecs de compressão Snappy deve ser instalado feita separadamente única Gzip funciona sem mais etapas de configuração. A listagem mostra os passos que você precisa para ativar a compactação Gzip na tabela de Informação ao Cliente Contato:

hbase (principal): 007: 0> disable 'CustomerContactInfo'hbase (principal): 010: 0> alter' CustomerContactInfo ', {NAME =>' CustomerName ', compressão =>' GZ '} hbase (principal): 014: 0 > descrever 'CustomerContactInfo'...{NAME => 'CustomerName', REPLICATION_SCOPE => '0', KEEP_DELETED_CELLS => 'falso', compressão => 'GZ', ... hbase (principal): 017: 0> enable 'CustomerContactInfo'

menu