Como instalar o HBase em Ubuntu (Instalação HBase)

Modos de instalação do Apache HBase

O Apache HBase pode ser instalado em três modos. Os recursos desses modos são mencionados abaixo.

1) Instalação em modo autônomo (sem dependência do sistema Hadoop)

  • Este é o modo padrão do HBase
  • Ele é executado no sistema de arquivos local
  • Não usa Hadoop HDFS
  • Somente o daemon HMaster pode ser executado
  • Não recomendado para ambiente de produção
  • Funciona em uma única JVM

2) Instalação em modo pseudo-distribuído (sistema Hadoop de nó único + instalação HBase)

  • Ele roda em Hadoop HDFS
  • Todos os Daemons são executados em um único nó
  • Recomendado para ambiente de produção

3) Instalação em modo totalmente distribuído (ambiente MultinodeHadoop + instalação HBase)

  • Ele roda em Hadoop HDFS
  • Todos os daemons serão executados em todos os nós presentes no cluster
  • Altamente recomendado para ambiente de produção

Para instalação do Hadoop, consulte este URL Aqui você encontra

Como baixar a versão estável do arquivo tar HBase

Passo 1) Vá para o link aqui para baixar o HBase. Uma página da web será aberta conforme mostrado abaixo.

Baixe a versão estável do arquivo HBase Tar

Passo 2) Selecione a versão estável conforme mostrado abaixo da versão 1.1.2

Baixe a versão estável do arquivo HBase Tar

Passo 3) Clique em hbase-1.1.2-bin.tar.gz. Ele fará o download do arquivo tar. Copie o arquivo tar em um local de instalação.

Baixe a versão estável do arquivo HBase Tar

Como instalar o HBase em Ubuntu com modo autônomo

Aqui está o processo passo a passo de instalação do modo autônomo do HBase em Ubuntu:

Etapa 1) Coloque o comando abaixo
Coloque hbase-1.1.2-bin.tar.gz em /home/hduser
Etapa 2) Descompacte-o executando o comando $tar -xvf hbase-1.1.2-bin.tar.gz.
Ele irá descompactar o conteúdo e criará o hbase-1.1.2 no local /home/hduser

Etapa 3) Abra hbase-env.sh
Abra hbase-env.sh conforme abaixo e mencione o caminho JAVA_HOME no local.

Instale o HBase em Ubuntu com modo autônomo

Etapa 4) Abra o arquivo e mencione o caminho
Abra o arquivo ~/.bashrc e mencione o caminho HBASE_HOME conforme mostrado abaixo

exportar HBASE_HOME=/home/hduser/hbase-1.1.1
exportar PATH= $PATH:$HBASE_HOME/bin

Instale o HBase em Ubuntu com modo autônomo

Etapa 5) Adicione propriedades no arquivo
Abra hbase-site.xml e coloque as seguintes propriedades dentro do arquivo

hduser@ubuntu$ gedit hbase-site.xml (código abaixo)

<property>

<name>hbase.rootdir</name>

<value>file:///home/hduser/HBASE/hbase</value>

</property>

<property>

<name>hbase.zookeeper.property.dataDir</name>

<value>/home/hduser/HBASE/zookeeper</value>

</property>

Instale o HBase em Ubuntu com modo autônomo

Aqui estamos colocando duas propriedades

  • Um para o diretório raiz do HBase e
  • O segundo diretório de dados corresponde ao ZooKeeper.

Todas as atividades do HMaster e ZooKeeper apontam para este hbase-site.xml.

Etapa 6) Mencione os IPs
Abra o arquivo hosts presente em /etc. localização e mencione os IPs conforme mostrado abaixo.

Instale o HBase em Ubuntu com modo autônomo

Etapa 7) Agora execute Start-hbase.sh no local hbase-1.1.1/bin conforme mostrado abaixo.

E podemos verificar pelo comando jps se o HMaster está rodando ou não.

Instale o HBase em Ubuntu com modo autônomo

Etapa 8) Inicie o Shell HBase
O shell HBase pode começar usando “shell hbase”E ele entrará no modo shell interativo, conforme mostrado na imagem abaixo. Assim que entrar no modo shell, podemos executar todos os tipos de comandos.

Instale o HBase em Ubuntu com modo autônomo

O modo independente não requer que os daemons do Hadoop sejam iniciados. O HBase pode ser executado de forma independente.

Modo de instalação pseudodistribuído HBase

Este é outro método de instalação do Apache HBase, conhecido como modo de instalação pseudodistribuído.
Abaixo estão as etapas para instalar o HBase por meio do modo Pseudo Distribuído:

Passo 1) Coloque hbase-1.1.2-bin.tar.gz em /home/hduser

Passo 2) Descompacte-o executando o comando$tar -xvf hbase-1.1.2-bin.tar.gz. Ele irá descompactar o conteúdo e criará o hbase-1.1.2 no local /home/hduser

Passo 3) Abra hbase-env.sh conforme abaixo e mencione o caminho JAVA_HOME e o caminho dos servidores da região no local e exporte o comando conforme mostrado

Modo de instalação pseudodistribuído HBase

Passo 4) Nesta etapa, abriremos o arquivo ~/.bashrc e mencionaremos o caminho HBASE_HOME conforme mostrado na captura de tela.

Instalação em modo pseudodistribuído HBase

Passo 5) Abra HBase-site.xml e mencione as propriedades abaixo no arquivo. (Código abaixo)

<property>

<name>hbase.rootdir</name>

<value>hdfs://localhost:9000/hbase</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

<name>hbase.zookeeper.quorum</name>

<value>localhost</value>

</property>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>hbase.zookeeper.property.clientPort</name>

<value>2181</value>

</property>

<property>

<name>hbase.zookeeper.property.dataDir</name>

<value>/home/hduser/hbase/zookeeper</value>

</property>

Modo de instalação pseudodistribuído HBase

Modo de instalação pseudodistribuído HBase

  1. Configurando o diretório raiz Hbase nesta propriedade
  2. Para configuração distribuída, temos que definir esta propriedade
  3. A propriedade de quorum do ZooKeeper deve ser configurada aqui
  4. Configuração de replicação feita nesta propriedade. Por padrão, estamos colocando a replicação como 1. No modo totalmente distribuído, vários nós de dados estão presentes para que possamos aumentar a replicação colocando mais de 1 valor na propriedade dfs.replication
  5. A porta do cliente deve ser mencionada nesta propriedade
  6. O diretório de dados do ZooKeeper pode ser mencionado nesta propriedade

Passo 6) Inicie os daemons Hadoop primeiro e depois inicie os daemons HBase conforme mostrado abaixo

Aqui, primeiro você deve iniciar os daemons do Hadoop usando“./start-all.sh” comando conforme mostrado abaixo.

Modo de instalação pseudodistribuído HBase

Depois de iniciar os daemons Hbase por hbase-start.sh

Modo de instalação pseudodistribuído HBase

Agora verifique jps

Modo de instalação pseudodistribuído HBase

Instalação em modo totalmente distribuído do HBase

  • Esta configuração funcionará no modo de cluster Hadoop, onde vários nós são gerados no cluster e em execução.
  • A instalação é igual ao modo pseudo-distribuído; a única diferença é que ele irá aparecer em vários nós.
  • Os arquivos de configuração mencionados em HBase-site.xml e hbase-env.sh são os mesmos mencionados no modo pseudo.

Solução de problemas de instalação do HBase

1) Declaração do problema: O servidor mestre inicializa, mas os servidores regionais não inicializam

A comunicação entre servidores mestre e de região através de seus endereços IP. Da mesma forma que o Master vai ouvir se os servidores da região estão rodando ou tendo o endereço IP 127.0.0.1. O endereço IP 127.0.0.1 que é o host local e resolve para o próprio host local do servidor mestre.

causa:

Na comunicação dupla entre servidores de região e mestre, o servidor de região informa continuamente ao servidor mestre que seus endereços IP são 127.0.0.1.

Alternativa:

  • É necessário remover o nó do nome do servidor mestre do host local que está presente no arquivo hosts
  • Localização do arquivo host /etc/hosts

O que mudar:

Abra /etc./hosts e vá para este local

127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost
: : 1              localhost3.localdomain3 localdomain3

Modifique a configuração acima como abaixo (remova o nome do servidor da região conforme destacado acima)

127.0.0.1    localhost.localdomainlocalhost
: : 1 localhost3.localdomain3 localdomain3

2) Declaração do problema: Não foi possível encontrar meu endereço: XYZ na lista de servidores de quórum do Zookeeper

causa:

  • O servidor ZooKeeper não pôde ser iniciado e gerará um erro como .xyz no nome do servidor.
  • O HBase tenta iniciar um servidor ZooKeeper em alguma máquina, mas ao mesmo tempo a máquina não consegue encontrar a configuração de quorum, ou seja, presente em HBase.zookeeper.quorum arquivo de configuração.

Solução:-

  • É necessário substituir o nome do host por um nome de host apresentado na mensagem de erro
  • Suponha que tenhamos um servidor DNS, então podemos definir as configurações abaixo em HBase-site.xml.
    • HBase.zookeeper.dns.interface
    • HBase.zookeeper.dns.nameserver

3) Declaração do problema: Criado diretório raiz para HBase por meio do Hadoop DFS

  • Master diz que você precisa executar o script de migração do HBase.
  • Ao executar isso, o script de migração do HBase responde como se nenhum arquivo no diretório raiz.

causa:

  • Criação de novo diretório para HBase usando Hadoop Sistema de arquivo distribuído
  • Aqui o HBase espera duas possibilidades

1) O diretório raiz não existe

2) Instância em execução anterior do HBase inicializada antes

Alternativa:

  • Certifique-se de que o diretório raiz do HBase não existe atualmente ou foi inicializado por uma execução anterior da instância do HBase.
  • Como parte da solução, temos que seguir as etapas

Passo 1) Usando o Hadoop dfs para excluir o diretório raiz do HBase

Passo 2) O HBase cria e inicializa o diretório sozinho

4) Declaração do problema: Eventos expirados da sessão do Zookeeper

causa:

  • Servidores HMaster ou HRegion sendo desligados lançando exceções
  • Se observarmos os logs, podemos descobrir as exceções reais que foram lançadas

O seguinte mostra a exceção lançada devido ao evento expirado do Zookeeper. Os eventos destacados são algumas das exceções ocorridas no arquivo de log

Código dos arquivos de log conforme mostrado abaixo:

WARN org.apache.zookeeper.ClientCnxn: Exception
closing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ec

java.io.IOException: TIMED OUT	
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:906)
WARN org.apache.hadoop.hbase.util.Sleeper: We slept 79410ms, ten times longer than scheduled: 5000
INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORT
INFO org.apache.zookeeper.ClientCnxn: Priming connection to java.nio.channels.SocketChannel[connected local=/IP:PORT remote=hostname/IP:PORT]
INFO org.apache.zookeeper.ClientCnxn: Server connection successful
WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65e

java.io.IOException: Session Expired	 
at org.apache.zookeeper.ClientCnxn$SendThread.readConnectResult(ClientCnxn.java:589)
at org.apache.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:709)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:945)
ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: ZooKeeper session expired

Alternativa:

  • O tamanho padrão da RAM é 1 GB. Para fazer importações de longa duração, mantivemos a capacidade de RAM superior a 1 GB.
  • Tem que aumentar o tempo limite da sessão para Zookeeper.
  • Para aumentar o tempo de sessão do Zookeeper, temos que modificar a seguinte propriedade em “hbase-site.xml” que está presente no caminho da pasta hbase /conf.
  • O tempo limite da sessão padrão é de 60 segundos. Podemos alterá-lo para 120 segundos conforme mencionado abaixo
<property>
    <name> zookeeper.session.timeout </name>
    <value>1200000</value>
</property>
<property>
    <name> hbase.zookeeper.property.tickTime </name>
    <value>6000</value>
</property>

Boletim informativo diário Guru99

Comece o seu dia com as últimas e mais importantes notícias sobre IA entregues agora mesmo.