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