Instalação e configuração do Hadoop (single node)

O Hadoop tem se tornado uma importante ferramenta para Big Data. Neste post vamos fazer a instalação e configuração do Hadoop em single node. Nos próximos posts veremos alguns programas Hadoop de exemplo para processamento de arquivos, importação de dados de um banco relacional e outras possibilidades.

Apache Hadoop

logo-hadoop
hadoop
Framework para processamento paralelo e distribuído.
Principais características:
– implementação do MapReduce
– Hadoop Distributed File System (HDFS)
– roda no hardware atual, sem a necessidade de adquirir novos servidores
– tolerância a falhas
– replicação de dados

Download

A última versão estável é a 1.0.4, disponível aqui.

Instalação e configuração do Hadoop

Alterar os arquivos de configuração que estão no diretório do Hadoop:


$ cd ${diretório-do-hadoop}

– conf/hadoop-env.sh


export JAVA_HOME=${diretório-do-jdk}

– conf/core-site.xml


<configuration>
     <property>
         <name>fs.default.name</name>
         <value>hdfs://localhost:54310</value>
     </property>
     <property>
         <name>hadoop.tmp.dir</name>
         <value>${user.home}/hadoop/hadoop-tmp-dir</value>
     </property>
</configuration>

– conf/hdfs-site.xml


<configuration>
     <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
     <property>
         <name>dfs.name.dir</name>
         <value>${user.home}/hadoop/dfs-name-dir</value>
     </property>
     <property>
         <name>dfs.data.dir</name>
         <value>${user.home}/hadoop/dfs-data-dir</value>
     </property>
</configuration>

– conf/mapred-site.xml


<configuration>
   <property>
       <name>mapred.job.tracker</name>
       <value>localhost:54311</value>
  </property>
</configuration>

ssh

O Hadoop utiliza ssh para comunicação. Para tanto, verifique se o serviço está ativo:


$ sudo /sbin/service sshd status

Caso não tenha o ssh server instalado:


    $ sudo apt-get install ssh
    $ sudo apt-get install rsync

ou

    $ sudo yum install openssh-server
    $ sudo yum install rsync

ssh inativo:


Active: inactive (dead) since...

ssh ativo:

Active: active (running) since...

Para iniciar o serviço:

$ sudo /sbin/service sshd start

Geração de chaves

Se você não consegue acessar o localhost sem o passphrase, gere as chaves:


    $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
    $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys


Tente acessar o localhost:

    $ ssh localhost

Dica: caso ainda precise do passphrase, altere as permissões conforme abaixo:

    $ chmod 600 ~/.ssh/authorized_keys

HDFS


$ cd ${diretório-do-hadoop}/bin


$ ./hadoop namenode -format

Iniciando o Hadoop

Para iniciar o daemon do Hadoop:


$ ./start-all.sh

Durante a inicialização do serviço, deve ser mostrado o log:


starting namenode, logging to /home/marco/Software/hadoop/libexec/../logs/hadoop-marco-namenode-marcoreis-ultrabook.out
localhost: starting datanode, logging to /home/marco/Software/hadoop/libexec/../logs/hadoop-marco-datanode-marcoreis-ultrabook.out
localhost: starting secondarynamenode, logging to /home/marco/Software/hadoop/libexec/../logs/hadoop-marco-secondarynamenode-marcoreis-ultrabook.out
starting jobtracker, logging to /home/marco/Software/hadoop/libexec/../logs/hadoop-marco-jobtracker-marcoreis-ultrabook.out
localhost: starting tasktracker, logging to /home/marco/Software/hadoop/libexec/../logs/hadoop-marco-tasktracker-marcoreis-ultrabook.out

Interface web

Para testar a instalação do Hadoop e verificar se está funcionando, acesso os serviços através das urls:
Namenode
JobTracker
TaskTracker

Parando o Hadoop


$ ./stop-all.sh

2 thoughts on “Instalação e configuração do Hadoop (single node)

  1. Show brother, temos pouco material disponibilizado em linguagem tupiniquim. Já favoritei seu blog, tem muito conteúdo bom aqui.
    Uma dúvida sobre este post, quais seriam os requisitos?

    1. Oi, Henrique. Realmente tem pouca coisa em português. Tenho vários rascunhos de artigos e vou postar nos próximos dias.
      Estava mesmo sem tempo porque precisava terminar as aulas do curso de Hadoop que já está disponível aqui. O curso é prático e minha ideia é publicar alguns complementos com outras funcionalidades do Hadoop, como joins, enriquecimento de dados e sistemas de recomendação.

Leave a Reply

Your email address will not be published. Required fields are marked *