Configuração de Cluster Hadoop Distribuído no CentOS 7 com VirtualBox

Preparação do Ambiente Virtual

Para configurar um ecossistema Hadoop funcional, o primeiro passo é a preparação das máquinas virtuais (VMs) utilizando o VirtualBox. Recomenda-se o uso do CentOS 7 como sistema operacional base.

A configuração de rede é um ponto crítico. Para permitir que o host e as máquinas virtuais se comuniquem livremente, utilize o Modo Bridge (Placa em Modo Ponte). Caso encontre problemas de conectividade (falha no ping), certifique-se de desativar o firewall no CentOS:

systemctl stop firewalld
systemctl disable firewalld

Instalação e Configuração do Java (JDK)

O Hadoop requer o ambiente de execução Java. Muitas vezes, a versão OpenJDK instalada por padrão não contém todas as bibliotecas necessárias (como tools.jar). Recomenda-se remover o OpenJDK e instalar a versão oficial do Oracle JDK.

# Remover versões existentes do OpenJDK
rpm -qa | grep openjdk | xargs rpm -e --nodeps

# Instalar o pacote JDK (exemplo com versão 7u79)
rpm -ivh jdk-7u79-linux-x64.rpm

Após a instalação, configure as variáveis de ambiente no arquivo /etc/profile:

export JAVA_HOME=/usr/java/jdk1.7.0_79
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

Aplique as alterações e valide com um programa simples:

source /etc/profile

# Teste rápido de compilador
cat <<EOF > HadoopCheck.java
public class HadoopCheck {
    public static void main(String[] args) {
        System.out.println("Java configurado corretamente para o Hadoop.");
    }
}
EOF

javac HadoopCheck.java
java HadoopCheck

Configuração de Hostname e Rede

Cada nó do cluster deve ter um nome de identificação único. Altere o nome da máquina permanentemente:

hostnamectl set-hostname node-master
# Para aplicar imediatamente sem reiniciar:
hostname node-master

Edite o arquivo /etc/hosts para mapear os endereços IP de todos os nós (Master e Slaves):

192.168.1.100 node-master
192.168.1.101 node-slave-01

Autenticação SSH Sem Senha

O Hadoop utiliza SSH para gerenciar os nós do cluster. É essencial configurar o acesso sem senha do Master para os Slaves.

# No nó Master:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

# Copiar a chave para o Slave:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node-slave-01

Instalação e Configuração do Hadoop

Extraia os binários do Hadoop e configure as variáveis de ambiente necessárias.

tar -zxvf hadoop-2.6.4.tar.gz -C /opt/
export HADOOP_HOME=/opt/hadoop-2.6.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

Os principais arquivos de configuração localizados em $HADOOP_HOME/etc/hadoop/ que devem ser editados são:

  • core-site.xml: Define o sistema de arquivos padrão (NameNode).
  • hdfs-site.xml: Define a replicação e diretórios de dados.
  • yarn-site.xml: Configurações do gerenciador de recursos.
  • mapred-site.xml: Define o framework MapReduce.
  • slaves: Lista os endereços dos nós escravos.

Após configurar o Master, você pode replicar a pasta do Hadoop para os outros nós via rede:

scp -r /opt/hadoop-2.6.4 root@node-slave-01:/opt/

Inicialização do Cluster

Antes de iniciar o serviço pela primeira vez, o sistema de aqruivos HDFS deve ser formatado:

# Formatar o NameNode
hdfs namenode -format

# Iniciar os serviços de HDFS e YARN
start-dfs.sh
start-yarn.sh

Para verificar se os processos estão ativos, utilize o comando jps. No nó Master, você deve ver NameNode, SecondaryNameNode e ResourceManager. No nó Slave, devem constar DataNode e NodeManager.

O status do cluster também pode ser verificado via navegador através da interface web do NameNode (geralmente na porta 50070): http://[IP_DO_MASTER]:50070.

Tags: hadoop CentOS 7 VirtualBox HDFS Big Data

Publicado em 8-15 16:28