Guia de Instalação do HBase no Windows com Solução para Erro de Classe Não Encontrada

Pré-requisitos: Instalação do Hadoop

Como o HBase é construído sobre o HDFS do Hadoop, é necessário ter suporte do Hadooop instalado.

Baixar e Configurar o Hadoop

Faça o download do pacote de suporte do Hadoop no link: https://pan.baidu.com/s/1E8Ct25PqiyAmIhQbP7fUWA (senha: ztw7).

Após o download, extraia o arquivo e configure a variável de ambiente:

  • Nome da variável: HADOOP_HOME
  • Valor da variável: caminho completo da pasta extraída (exemplo: D:\hadoop\hadoop-common-2.2.0-bin-master)

Adicione %HADOOP_HOME%\bin à variável Path (separando com ponto e vírgula).

Instalação do HBase

Baixe o HBase, preferencialmente a versão 1.2.0, que é estável e bem documentdaa. Link: https://pan.baidu.com/s/19beAaW-Xl-WaXghaBevZrw (senha: kjsr) ou acesse o arquivo oficial da Apache.

Extraia o arquivo baixado.

Configuração do HBase

No diretório conf dentro da pasta do HBase, edite o arquivo hbase-env.cmd e adicione:

set HBASE_MANAGES_ZK=false
set JAVA_HOME=D:\java\jdk1.8.0_77
set HBASE_CLASSPATH=D:\hbase\hbase-1.2.0\conf

Ajuste JAVA_HOME para o diretório do seu JDK e HBASE_CLASSPATH para o caminho da pasta conf do HBase.

Em seguida, edite o arquivo hbase-site.xml no mesmo diretório conf. Dentro das tags <configuration>, adicione:

<property>
    <name>hbase.rootdir</name>
    <value>file:///D:/hbase/hbase-1.2.0/hbase-data</value>
</property>
<property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>D:/hbase/hbase-1.2.0/zookeeper-data</value>
</property>
<property>
    <name>hbase.cluster.distributed</name>
    <value>false</value>
</property>

Substitua os caminhos pelos diretórios que deseja usar no seu sistema.

Solucionando o Erro java.lang.NoClassDefFoundError: org/apache/htrace/core/HTraceConfiguration

Ao iniciar o HBase 1.2.0, é comum encontrar o erro java.lang.NoClassDefFoundError: org/apache/htrace/core/HTraceConfiguration. Isso ocorre porque a versão 1.2.0 depende da biblioteca HTrace, que não está incluída no pacote. Para resolver:

  1. Baixe o JAR do HTrace Core (versão compatível, geralmente htrace-core-3.1.0-incubating.jar).
  2. Copie o arquivo para o diretório lib do HBase (exemplo: D:\hbase\hbase-1.2.0\lib).
  3. Reinicie o HBase.

Se preferir, você pode adicionar o JAR manualmente ao classpath do HBase, mas a opção mais simples é colocá-lo na pasta lib.

Testando a Instalação

Abra o prompt de comando, navegue até o diretório bin do HBase e execute:

start-hbase

Uma nova janela do cmd abrirá com logs. Aguarde até que o serviço esteja pronto (você verá mensagens indicando que o HBase foi iniciado).

No terminal original, execute:

hbase shell

Se o shell aparecer, a instalação foi bem-sucedida.

Exemplo de Criação de Tabela

create 'test_table', 'cf1'

Para listar as tabelas:

list

Comandos Básicos do HBase

Verificar Existência de Tabela

exists 'test_table'

Criar Tabela com Múltiplas Famílias de Colunas

create 't1', 'f1', 'f2', 'f3'

Visualizar Estrutura da Tabela

describe 't1'

Limpar e Excluir Tabela

truncate 'minha_tabela'
# Para deletar:
disable 'minha_tabela'
drop 'minha_tabela'

Inserir Dados

create 'aluno', 'info', 'endereco'
put 'aluno', '1', 'info:idade', '20'
put 'aluno', '1', 'info:nome', 'joao'
put 'aluno', '1', 'endereco:cidade', 'sao_paulo'
put 'aluno', '2', 'info:idade', '22'
put 'aluno', '2', 'info:nome', 'maria'
put 'aluno', '2', 'endereco:cidade', 'rio'

Scan (Leitura de Toda a Tabela)

scan 'aluno'

Modificar Dados

Use put novamente para sobrescrever valores:

put 'aluno', '1', 'info:idade', '18'

Deletar Dados

Deletar uma célula específica:

delete 'aluno', '1', 'info:nome'

Deletar uma linha inteira:

deleteall 'aluno', '1'

Consultas Específicas

Obter uma linha:

get 'aluno', '2'

Obter uma família de colunas:

get 'aluno', '2', {COLUMN => 'info'}

Obter uma coluna específica:

get 'aluno', '2', {COLUMN => 'info:idade'}

Scan com Limites e Filtros

scan 'aluno', {COLUMNS => ['info:idade', 'endereco:cidade'], LIMIT => 10, STARTROW => '2'}

Alteração de Estrutura da Tabela

Primeiro desabilite a tabela, depois altere e reabilite:

disable 'aluno'
alter 'aluno', {NAME => 'info', TTL => '15552000'}
enable 'aluno'

Para adicionar uma nova família de colunas:

disable 'aluno'
alter 'aluno', 'novos_dados'
enable 'aluno'

Execução de Scripts

Você pode criar um arquivo de texto com comandos HBase (por exemplo, script.txt no diretório bin) e executá-lo com:

hbase shell script.txt

Notas Importantes

  • Para versões mais recentes do HBase (2.x), muitas bibliotecas e dependências mudaram, o que pode causar erros como falta de JARs. A versão 1.2.0 é recomendada para aprendizado.
  • Sempre mantenha o servidor HBase rodando enquanto usa o shell.
  • Se encontrar problemas de classe não encontrada, verifique se todos os JARs necessários estão no diretório lib do HBase.

Tags: hbase Windows hadoop HTrace NoClassDefFoundError

Publicado em 7-13 23:18