HBase - Instalação

Este capítulo explica como o HBase é instalado e configurado inicialmente. Java e Hadoop são necessários para prosseguir com o HBase, portanto, você deve baixar e instalar java e Hadoop em seu sistema.

Configuração de pré-instalação

Antes de instalar o Hadoop no ambiente Linux, precisamos configurar o Linux usando ssh(Capsula segura). Siga as etapas fornecidas abaixo para configurar o ambiente Linux.

Criação de um usuário

Em primeiro lugar, é recomendável criar um usuário separado para o Hadoop para isolar o sistema de arquivos Hadoop do sistema de arquivos Unix. Siga as etapas abaixo para criar um usuário.

  • Abra a raiz usando o comando “su”.
  • Crie um usuário a partir da conta root usando o comando “useradd username”.
  • Agora você pode abrir uma conta de usuário existente usando o comando “su username”.

Abra o terminal Linux e digite os seguintes comandos para criar um usuário.

$ su
password:
# useradd hadoop
# passwd hadoop
New passwd:
Retype new passwd

Configuração e geração de chave SSH

A configuração do SSH é necessária para executar diferentes operações no cluster, como iniciar, parar e operações de shell daemon distribuído. Para autenticar diferentes usuários do Hadoop, é necessário fornecer um par de chaves pública / privada para um usuário do Hadoop e compartilhá-lo com diferentes usuários.

Os comandos a seguir são usados ​​para gerar um par de valores-chave usando SSH. Copie o formulário de chaves públicas id_rsa.pub para authorized_keys e forneça as permissões de proprietário, leitura e gravação para o arquivo authorized_keys respectivamente.

$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

Verificar ssh

ssh localhost

Instalando Java

Java é o principal pré-requisito para Hadoop e HBase. Em primeiro lugar, você deve verificar a existência de java em seu sistema usando “java -version”. A sintaxe do comando da versão java é fornecida abaixo.

$ java -version

Se tudo funcionar bem, você receberá a seguinte saída.

java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b13)
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)

Se o java não estiver instalado em seu sistema, siga as etapas abaixo para instalar o java.

Passo 1

Baixe o java (JDK <versão mais recente> - X64.tar.gz) visitando o seguinte link Oracle Java .

Então jdk-7u71-linux-x64.tar.gz será baixado em seu sistema.

Passo 2

Geralmente, você encontrará o arquivo java baixado na pasta Downloads. Verifique e extraia ojdk-7u71-linux-x64.gz arquivo usando os seguintes comandos.

$ cd Downloads/
$ ls
jdk-7u71-linux-x64.gz

$ tar zxf jdk-7u71-linux-x64.gz
$ ls
jdk1.7.0_71 jdk-7u71-linux-x64.gz

etapa 3

Para disponibilizar o java a todos os usuários, você deve movê-lo para o local “/ usr / local /”. Abra o root e digite os seguintes comandos.

$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit

Passo 4

Para configurar PATH e JAVA_HOME variáveis, adicione os seguintes comandos para ~/.bashrc Arquivo.

export JAVA_HOME=/usr/local/jdk1.7.0_71
export PATH= $PATH:$JAVA_HOME/bin

Agora aplique todas as alterações no sistema em execução atual.

$ source ~/.bashrc

Etapa 5

Use os seguintes comandos para configurar alternativas java:

# alternatives --install /usr/bin/java java usr/local/java/bin/java 2

# alternatives --install /usr/bin/javac javac usr/local/java/bin/javac 2

# alternatives --install /usr/bin/jar jar usr/local/java/bin/jar 2


# alternatives --set java usr/local/java/bin/java

# alternatives --set javac usr/local/java/bin/javac

# alternatives --set jar usr/local/java/bin/jar

Agora verifique o java -version comando do terminal como explicado acima.

Baixando Hadoop

Depois de instalar o java, você deve instalar o Hadoop. Em primeiro lugar, verifique a existência do Hadoop usando o comando “versão do Hadoop” conforme mostrado abaixo.

hadoop version

Se tudo funcionar bem, você receberá a seguinte saída.

Hadoop 2.6.0
Compiled by jenkins on 2014-11-13T21:10Z
Compiled with protoc 2.5.0
From source with checksum 18e43357c8f927c0695f1e9522859d6a
This command was run using
/home/hadoop/hadoop/share/hadoop/common/hadoop-common-2.6.0.jar

Se o seu sistema não conseguir localizar o Hadoop, faça download do Hadoop em seu sistema. Siga os comandos fornecidos abaixo para fazer isso.

Baixe e extraia o hadoop-2.6.0 da Apache Software Foundation usando os comandos a seguir.

$ su
password:
# cd /usr/local
# wget http://mirrors.advancedhosters.com/apache/hadoop/common/hadoop-
2.6.0/hadoop-2.6.0-src.tar.gz
# tar xzf hadoop-2.6.0-src.tar.gz
# mv hadoop-2.6.0/* hadoop/
# exit

Instalando Hadoop

Instale o Hadoop em qualquer um dos modos necessários. Aqui, estamos demonstrando as funcionalidades do HBase no modo pseudo distribuído, portanto, instale o Hadoop no modo pseudo distribuído.

As etapas a seguir são usadas para instalar Hadoop 2.4.1.

Etapa 1 - Configurando o Hadoop

Você pode definir variáveis ​​de ambiente Hadoop anexando os seguintes comandos a ~/.bashrc Arquivo.

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME

Agora aplique todas as alterações no sistema em execução atual.

$ source ~/.bashrc

Etapa 2 - Configuração do Hadoop

Você pode encontrar todos os arquivos de configuração do Hadoop no local “$ HADOOP_HOME / etc / hadoop”. Você precisa fazer alterações nesses arquivos de configuração de acordo com sua infraestrutura Hadoop.

$ cd $HADOOP_HOME/etc/hadoop

Para desenvolver programas Hadoop em java, você deve redefinir a variável de ambiente java em hadoop-env.sh arquivo substituindo JAVA_HOME valor com a localização de java em seu sistema.

export JAVA_HOME=/usr/local/jdk1.7.0_71

Você terá que editar os seguintes arquivos para configurar o Hadoop.

core-site.xml

o core-site.xml arquivo contém informações como o número da porta usado para a instância do Hadoop, memória alocada para o sistema de arquivos, limite de memória para armazenamento de dados e o tamanho dos buffers de leitura / gravação.

Abra core-site.xml e adicione as seguintes propriedades entre as tags <configuration> e </configuration>.

<configuration>
   <property>
      <name>fs.default.name</name>
      <value>hdfs://localhost:9000</value>
   </property>
</configuration>

hdfs-site.xml

o hdfs-site.xml arquivo contém informações como o valor dos dados de replicação, caminho do namenode e caminho do datanode de seus sistemas de arquivos locais, onde você deseja armazenar a infraestrutura do Hadoop.

Vamos supor os seguintes dados.

dfs.replication (data replication value) = 1
(In the below given path /hadoop/ is the user name.
hadoopinfra/hdfs/namenode is the directory created by hdfs file system.)

namenode path = //home/hadoop/hadoopinfra/hdfs/namenode
(hadoopinfra/hdfs/datanode is the directory created by hdfs file system.)

datanode path = //home/hadoop/hadoopinfra/hdfs/datanode

Abra este arquivo e adicione as seguintes propriedades entre as marcas <configuration>, </configuration>.

<configuration>
   <property>
      <name>dfs.replication</name >
      <value>1</value>
   </property>
	
   <property>
      <name>dfs.name.dir</name>
      <value>file:///home/hadoop/hadoopinfra/hdfs/namenode</value>
   </property>
	
   <property>
      <name>dfs.data.dir</name>
      <value>file:///home/hadoop/hadoopinfra/hdfs/datanode</value>
   </property>
</configuration>

Note: No arquivo acima, todos os valores de propriedade são definidos pelo usuário e você pode fazer alterações de acordo com sua infraestrutura Hadoop.

yarn-site.xml

Este arquivo é usado para configurar o yarn no Hadoop. Abra o arquivo yarn-site.xml e adicione a seguinte propriedade entre <configuration $ gt ;, </ configuration $ gt; tags neste arquivo.

<configuration>
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
   </property>
</configuration>

mapred-site.xml

Este arquivo é usado para especificar qual estrutura MapReduce estamos usando. Por padrão, o Hadoop contém um modelo de yarn-site.xml. Em primeiro lugar, é necessário copiar o arquivo demapred-site.xml.template para mapred-site.xml arquivo usando o seguinte comando.

$ cp mapred-site.xml.template mapred-site.xml

Abrir mapred-site.xml arquivo e adicione as seguintes propriedades entre as marcas <configuration> e </configuration>.

<configuration>
   <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
   </property>
</configuration>

Verificando a instalação do Hadoop

As etapas a seguir são usadas para verificar a instalação do Hadoop.

Etapa 1 - Configuração do Nó de Nome

Configure o namenode usando o comando “hdfs namenode -format” como segue.

$ cd ~
$ hdfs namenode -format

O resultado esperado é o seguinte.

10/24/14 21:30:55 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = localhost/192.168.1.11
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.4.1
...
...
10/24/14 21:30:56 INFO common.Storage: Storage directory
/home/hadoop/hadoopinfra/hdfs/namenode has been successfully formatted.
10/24/14 21:30:56 INFO namenode.NNStorageRetentionManager: Going to
retain 1 images with txid >= 0
10/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 0
10/24/14 21:30:56 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/192.168.1.11
************************************************************/

Etapa 2 - Verificar Hadoop dfs

O seguinte comando é usado para iniciar o dfs. Executar este comando iniciará seu sistema de arquivos Hadoop.

$ start-dfs.sh

A saída esperada é a seguinte.

10/24/14 21:37:56
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-namenode-localhost.out
localhost: starting datanode, logging to /home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-datanode-localhost.out
Starting secondary namenodes [0.0.0.0]

Etapa 3 - Verificação do script do Yarn

O seguinte comando é usado para iniciar o script yarn. Executar este comando iniciará seus daemons de yarn.

$ start-yarn.sh

A saída esperada é a seguinte.

starting yarn daemons
starting resourcemanager, logging to /home/hadoop/hadoop-
2.4.1/logs/yarn-hadoop-resourcemanager-localhost.out
localhost: starting nodemanager, logging to /home/hadoop/hadoop-
2.4.1/logs/yarn-hadoop-nodemanager-localhost.out

Etapa 4 - Acessando o Hadoop no navegador

O número da porta padrão para acessar o Hadoop é 50070. Use o seguinte url para obter os serviços do Hadoop em seu navegador.

http://localhost:50070

Etapa 5 - Verificar todos os aplicativos do cluster

O número da porta padrão para acessar todos os aplicativos do cluster é 8088. Use o seguinte url para visitar este serviço.

http://localhost:8088/

Instalando HBase

Podemos instalar o HBase em qualquer um dos três modos: modo autônomo, modo pseudo-distribuído e modo totalmente distribuído.

Instalando HBase em modo autônomo

Baixe a última versão estável do formulário HBase http://www.interior-dsgn.com/apache/hbase/stable/usando o comando “wget” e extraia-o usando o comando tar “zxvf”. Veja o seguinte comando.

$cd usr/local/
$wget http://www.interior-dsgn.com/apache/hbase/stable/hbase-0.98.8-
hadoop2-bin.tar.gz
$tar -zxvf hbase-0.98.8-hadoop2-bin.tar.gz

Mude para o modo de superusuário e mova a pasta HBase para / usr / local conforme mostrado abaixo.

$su
$password: enter your password here
mv hbase-0.99.1/* Hbase/

Configurando HBase no modo autônomo

Antes de prosseguir com o HBase, você deve editar os arquivos a seguir e configurar o HBase.

hbase-env.sh

Defina o java Home para HBase e abra hbase-env.sharquivo da pasta conf. Edite a variável de ambiente JAVA_HOME e altere o caminho existente para sua variável JAVA_HOME atual, conforme mostrado abaixo.

cd /usr/local/Hbase/conf
gedit hbase-env.sh

Isso abrirá o arquivo env.sh do HBase. Agora substitua o existenteJAVA_HOME valor com seu valor atual, conforme mostrado abaixo.

export JAVA_HOME=/usr/lib/jvm/java-1.7.0

hbase-site.xml

Este é o principal arquivo de configuração do HBase. Defina o diretório de dados em um local apropriado abrindo a pasta inicial do HBase em / usr / local / HBase. Dentro da pasta conf, você encontrará vários arquivos, abra ohbase-site.xml arquivo como mostrado abaixo.

#cd /usr/local/HBase/
#cd conf
# gedit hbase-site.xml

Dentro de hbase-site.xmlarquivo, você encontrará as marcas <configuration> e </configuration>. Dentro deles, defina o diretório HBase sob a chave de propriedade com o nome “hbase.rootdir” conforme mostrado abaixo.

<configuration>
   //Here you have to set the path where you want HBase to store its files.
   <property>
      <name>hbase.rootdir</name>
      <value>file:/home/hadoop/HBase/HFiles</value>
   </property>
	
   //Here you have to set the path where you want HBase to store its built in zookeeper  files.
   <property>
      <name>hbase.zookeeper.property.dataDir</name>
      <value>/home/hadoop/zookeeper</value>
   </property>
</configuration>

Com isso, a parte de instalação e configuração do HBase foi concluída com sucesso. Podemos iniciar o HBase usandostart-hbase.shscript fornecido na pasta bin do HBase. Para isso, abra o HBase Home Folder e execute o script de início do HBase conforme mostrado abaixo.

$cd /usr/local/HBase/bin
$./start-hbase.sh

Se tudo correr bem, quando você tentar executar o script de início do HBase, aparecerá uma mensagem dizendo que o HBase foi iniciado.

starting master, logging to /usr/local/HBase/bin/../logs/hbase-tpmaster-localhost.localdomain.out

Instalando HBase em modo pseudo-distribuído

Vamos agora verificar como o HBase está instalado no modo pseudo-distribuído.

Configurando HBase

Antes de continuar com o HBase, configure o Hadoop e o HDFS em seu sistema local ou em um sistema remoto e certifique-se de que estejam em execução. Pare o HBase se ele estiver em execução.

hbase-site.xml

Edite o arquivo hbase-site.xml para adicionar as seguintes propriedades.

<property>
   <name>hbase.cluster.distributed</name>
   <value>true</value>
</property>

Ele mencionará em qual modo o HBase deve ser executado. No mesmo arquivo do sistema de arquivos local, altere o hbase.rootdir, o endereço da sua instância HDFS, usando a sintaxe hdfs: //// URI. Estamos executando o HDFS no localhost na porta 8030.

<property>
   <name>hbase.rootdir</name>
   <value>hdfs://localhost:8030/hbase</value>
</property>

Iniciando HBase

Após o término da configuração, navegue até a pasta inicial do HBase e inicie o HBase usando o seguinte comando.

$cd /usr/local/HBase
$bin/start-hbase.sh

Note: Antes de iniciar o HBase, verifique se o Hadoop está em execução.

Verificando o diretório HBase em HDFS

HBase cria seu diretório em HDFS. Para ver o diretório criado, navegue até Hadoop bin e digite o seguinte comando.

$ ./bin/hadoop fs -ls /hbase

Se tudo correr bem, você receberá a seguinte saída.

Found 7 items
drwxr-xr-x - hbase users 0 2014-06-25 18:58 /hbase/.tmp
drwxr-xr-x - hbase users 0 2014-06-25 21:49 /hbase/WALs
drwxr-xr-x - hbase users 0 2014-06-25 18:48 /hbase/corrupt
drwxr-xr-x - hbase users 0 2014-06-25 18:58 /hbase/data
-rw-r--r-- 3 hbase users 42 2014-06-25 18:41 /hbase/hbase.id
-rw-r--r-- 3 hbase users 7 2014-06-25 18:41 /hbase/hbase.version
drwxr-xr-x - hbase users 0 2014-06-25 21:49 /hbase/oldWALs

Iniciando e parando um mestre

Usando o “local-master-backup.sh” você pode iniciar até 10 servidores. Abra a pasta pessoal do HBase, masterize e execute o seguinte comando para iniciá-lo.

$ ./bin/local-master-backup.sh 2 4

Para matar um mestre de backup, você precisa de seu ID de processo, que será armazenado em um arquivo chamado “/tmp/hbase-USER-X-master.pid.” você pode matar o backup master usando o seguinte comando.

$ cat /tmp/hbase-user-1-master.pid |xargs kill -9

Iniciando e parando RegionServers

Você pode executar vários servidores de região de um único sistema usando o seguinte comando.

$ .bin/local-regionservers.sh start 2 3

Para parar um servidor de região, use o seguinte comando.

$ .bin/local-regionservers.sh stop 3

 

Iniciando HBaseShell

Depois de instalar o HBase com sucesso, você pode iniciar o HBase Shell. A seguir, está a sequência de etapas que devem ser seguidas para iniciar o shell do HBase. Abra o terminal e faça login como superusuário.

Inicie o sistema de arquivos Hadoop

Navegue pela pasta sbin inicial do Hadoop e inicie o sistema de arquivos Hadoop conforme mostrado abaixo.

$cd $HADOOP_HOME/sbin
$start-all.sh

Iniciar HBase

Navegue pela pasta bin do diretório raiz do HBase e inicie o HBase.

$cd /usr/local/HBase
$./bin/start-hbase.sh

Iniciar o servidor mestre HBase

Este será o mesmo diretório. Inicie como mostrado abaixo.

$./bin/local-master-backup.sh start 2 (number signifies specific
server.)

Iniciar região

Inicie o servidor da região conforme mostrado abaixo.

$./bin/./local-regionservers.sh start 3

Inicie o HBase Shell

Você pode iniciar o shell do HBase usando o seguinte comando.

$cd bin
$./hbase shell

Isso lhe dará o prompt do shell do HBase, conforme mostrado abaixo.

2014-12-09 14:24:27,526 INFO [main] Configuration.deprecation:
hadoop.native.lib is deprecated. Instead, use io.native.lib.available
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.98.8-hadoop2, r6cfc8d064754251365e070a10a82eb169956d5fe, Fri
Nov 14 18:26:29 PST 2014

hbase(main):001:0>

Interface da Web HBase

Para acessar a interface web do HBase, digite a seguinte url no navegador.

http://localhost:60010

Esta interface lista seus servidores de região atualmente em execução, mestres de backup e tabelas HBase.

Servidores de região HBase e backup mestres

Tabelas HBase

Configurando o ambiente Java

Também podemos nos comunicar com o HBase usando bibliotecas Java, mas antes de acessar o HBase usando a API Java, você precisa definir o classpath para essas bibliotecas.

Configurando o Classpath

Antes de prosseguir com a programação, defina o classpath para bibliotecas HBase em .bashrcArquivo. Abrir.bashrc em qualquer um dos editores conforme mostrado abaixo.

$ gedit ~/.bashrc

Defina o classpath para bibliotecas HBase (pasta lib no HBase) nele conforme mostrado abaixo.

export CLASSPATH = $CLASSPATH://home/hadoop/hbase/lib/*

Isso evita a exceção “classe não encontrada” ao acessar o HBase usando a API Java.