Tutorial hadoop - Guia prático de um cluster com 3 computadores

Seu chefe disse que para aumentar o lucro da empresa é necessário criar um buscador de site (ex.: Google), ou seja, fazer uma pesquisa de forma eficiente em um arquivo com 10GB de tamanho por exemplo. Então conheça na prática como a ferramenta hadoop pode lhe ajudar.

[ Hits: 28.246 ]

Por: Ronaldo Borges em 21/12/2015 | Blog: https://www.facebook.com/ronyjah1


Instalação e configuração do hadoop



Passo 1 - É necessário ter o java versão superior a 1.7 instalado em todas as máquinas do cluster antes de seguir os próximos passos. Para verificar se está instalado execute:

# java -version

Resultado esperado:

java version "1.7.x_xx"

Obs.: o hadoop deve ser instalado em todas as máquinas e configurados da mesma forma como descrito abaixo;

Passo 2 - Fazer o download do hadoop. O binário pode ser baixado no link:
Passo 3 - execute:

# tar -xvzf hadoop-2.6.2.tar.gz

Passo 4 - Os arquivos de configuração do sistema de arquivo HDFS é o hdfs-site.xml no qual dizemos o número de replicações dos blocos. Edite o arquivo hdfs-site.xml localizado no diretorio hadoop-2.6.2/etc/hadoop/:

<configuration>
<property>
  <name>dfs.replication</name>
  <value>2</value>
  <description>Default block replication.
  The actual number of replications can be specified when the file is created.
  The default is used if replication is not specified in create time.
  </description>
</property>
</configuration>

O Mapreduce é a ferramenta dentro do hadoop usada controle das tarefas map-reduce entre os datanode(slaves). Como o mapreduce é um serviço crítico e em suas versões iniciais não haviam servidor mapreduce de backup, criou-se então, outra ferramenta com base no algorítmo de mapreduce mais robusta contra falhas de único nó, chamado YARN. O serviço para gerenciamento das tarefas no YARN é chamado resourcemanager e normalmente roda no mesmo computador no namenode.

Portanto o Hadoop-master, além de gerenciar o sistema de arquivos do cluster (namenode), será responsável por gerenciar a execução da tarefa (resourcemanager) e seu arquivo de configuração é o yarn-site.xml

Passo 5 - Adotamos o yarn em nosso cluster porém devemos informar ao hadoop qual o gerenciar de tarefas escolhido. Desta forma edite o arquivo hadoop-2.6.2/etc/hadoop/mapred-site.xml:

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

Passo 6 - A seguir configuramos o yarn-site.xml localizado em hadop-2.6.2/etc/hadooop/:

<configuration>

<property>
  <name>yarn.resourcemanager.hostname</name>
  <value>hadoop-master</value>
  <description>Neste campo informamos o computador que rodará o resourcemanager
  </description>
</property>

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

<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

</configuration>

Passo 7 - Edite o arquivo hadoop-2.6.2/etc/hadoop/hadoop-env.sh informe o local dos binários do java.

Obs.: normalmente está localizado no diretório /usr/.

#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr

Passo 8 - Continue no arquivo hadoop-env.sh e encontra e edite a linha abaixo:

#export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"
export HADOOP_OPTS="$HADOOP_OPTS -XX:-PrintWarnings -Djava.net.preferIPv4Stack=true"

Passo 9 - Replique as configurações acima para todas as máquinas do cluster (slave-1 e slave-2).

Passo 10 - Somente na máquina hadoop-master edite o arquivo hadoop-2.6.2/etc/hadoop/slaves informando as máquinas escravas que compõem o cluster, conforme abaixo:

slave-1
slave-2

Página anterior     Próxima página

Páginas do artigo
   1. Descrição
   2. Configurando o ambiente nos computadores para receber o cluster hadoop
   3. Instalação e configuração do hadoop
   4. Iniciando o cluster hadoop
   5. Testando o cluster Hadoop
   6. Possíveis problemas
Outros artigos deste autor

Tutorial - Aplicação em C para transferência de arquivo usando socket TCP e Thread

Leitura recomendada

DHCP com controle de IP e compartilhamento no Debian Squeeze

Observium - Monitoramento de Rede

Nagios 3 + NagiosQL no Ubuntu Server 12.04

Openswan - Configurando uma conexão VPN Site-to-Site e simulando com GNS3

PABX IP Asterisk - Instalação no Debian/Ubuntu

  
Comentários
[1] Comentário enviado por Ed_slacker em 21/12/2015 - 13:55h

Para fins de estudo e conhecimento o cenário proposto pelo artigo é valido. Em ambiente real não. Só pelo overhead gerado pelas tecnologias citadas mais a infraestrutura, a aplicação desta solução não vale a pena. O ecossistema Haddop deve preferencialmente ser usado quando REALMENTE o desafio de coleta, processamento e análise de dados demandam artilharia pesada! Deixo como sugestão a leitura desta apresentação e veja como problemas similares com um volume muito mais brutal de dados foram analisados usando apenas LINUX! http://slides.com/ronie/fbp_2015#/

[2] Comentário enviado por Lwkas em 28/12/2015 - 17:35h

Muito bom!

[3] Comentário enviado por ronyjah em 28/12/2015 - 20:44h


[2] Comentário enviado por Lwkas em 28/12/2015 - 17:35h

Muito bom!


Fico agradecido por seu elogio, especialmente se este artigo for útil.

[4] Comentário enviado por HenriqueSantana em 17/05/2016 - 23:03h

Cara, parabéns. Ótimo post de material riquíssimo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts