Como instalar Hadoop em 3 passos

Este guia mostra como instalar um ambiente de teste de Apache Hadoop, o qual permitirá executar comandos básicos. O guia está planejado para dar um primeiro contacto com Apache Hadoop, e não para estabelecer um ambiente de pré-produção ou produção. Nesse guia trabalharemos com um tarball simplificado de Hadoop, criado e hospedado por Pragsis, o qual se pode obter da web aqui.

 

Requisitos

Para poder utilizar nosso tarball corretamente, os seguintes requisitos deven ser cumpridos:

  • O sistema deve ter instalado Java 1.6, preferivelmente de Oracle.
  • O ambiente deve ser Linux
  • O usuário que execute todos os comandos deve ser root
  • A home de Java deve estar em /usr/java/latest

Em minha máquina, a saída de ls /usr/java/latest é:

root@pctyrion18 ~ # ls /usr/java/latest
ASSEMBLY_EXCEPTION bin docs include jre lib man src.zip THIRD_PARTY_README

Instalação de Hadoop

Baixar o tarball em /opt, colocar nessa pasta e executar:

tar xjf hadoop-pragsis.tar.bz2 
hadoop-1.0.4/bin/hadoop namenode -format
rm -f /opt/hadoop-pragsis.tar.bz2

Inicialização e parada

Uma vez executados esses comandos, se tudo ocorreu bem, teremos instalado e pronto para inicializar uma instalação pseudo-distribuída de Hadoop. Para iniciar os demônios de Hadoop, usamos os scripts start-all.sh y stop-all.sh da pasta /opt/hadoop-1.0.4/bin.

Para inicializar, executamos:

root@pctyrion18 ~ # /opt/hadoop-1.0.4/bin/start-all.sh

E para deter os demônios:

root@pctyrion18 ~ # /opt/hadoop-1.0.4/bin/stop-all.sh

Testes

Uma vez que temos tudo ocorrendo, vamos a verificar que está funcionando. Para isso, temos duas interfaces web: uma nos mostra informação sobre MapReduce, e a outra, sobre HDFS. Os links a ditas interfaces são:

Resulta interessante visitar ditos links, pois se ambos funcionam (ou seja, não dão erro 404), significa que nossa instalação funciona corretamente.

Além disso, podemos verificar mediante o comando jps (incluído no JDK de Oracle) que temos os cinco demônios de Hadoop correndo:

root@pctyrion18 hadoop-1.0.4 # jps
6020 TaskTracker
5753 DataNode
8485 Jps
5848 SecondaryNameNode
5943 JobTracker
5683 NameNode

Na saída desse comando, devemos encontrar os dois demônios de MapReduce: TaskTracker e JobTracker; e os três demônios de HDFS: DataNodeNameNode e SecondaryNameNode.

A seguir, o teste que vamos a realizar consiste em copiar a pasta conf (pasta de configuração de Hadoop) ao sistema de arquivos distribuido de Hadoop (HDFS) e logo executar uma tarefa tipo "grep":

root@pctyrion18 hadoop-1.0.4 # cd /opt/hadoop-1.0.4 
root@pctyrion18 hadoop-1.0.4 # bin/hadoop fs -put conf input 
root@pctyrion18 hadoop-1.0.4 # bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
root@pctyrion18 hadoop-1.0.4 # bin/hadoop fs -cat output/*
1 dfs.block.size
1 dfs.data.dir
1 dfs.name.dir
1 dfs.permissions
1 dfs.replication
1 dfs.safemode.extension
1 dfs.server.namenode.
1 dfsadmin
cat: File does not exist: /user/root/output/_logs

Uma vez feito isso, a saída nos mostra a cadeia que cumpre com o critério da expressão regular 'dfs[a-z.]+' e o número de coincidências iguais. 

Tags: