Guia de Instalação do CentOS para Cluster Hadoop

Este artigo aborda o processo de instalação do sistema operacional CentOS em uma máquina virtual, como parte da preparação para montar um cluster Hadoop. O foco está nas configurações básicas e na instalação dos componentes essenciais.

Preparação Técnica

  • VMware Workstation
  • CentOS 6.8 (64 bits)

Planejamento de Recursos

Considerando um notebook com Windows 7 e apenas 8 GB de RAM, a distribuição de memória será: 2 GB para o nó mestre e 1 GB para cada um dos três nós escravos. O armazenamento de cada nó será de 50 GB.

Particionamento do Disco no Linux

Diferente do Windows, o Linux utiliza pontos de montagem para associar diretórios do sistema a partições lógicas. Abaixo, um plano de partição para 50 GB, que pode ser ajustado proporcionalmente para ambientes de produção:

  • /boot: Diretório de inicialização. Recomenda-se 200 MB.
  • /usr: Armazena aplicativosdo sistema. Sugere-se no mínimo 3 GB.
  • /var: Dados variáveis e logs. Pelo menos 1 GB.
  • /home: Diretórios dos usuários. Utilizar o espaço restante.
  • /: Raiz do sistema. Mínimo de 5 GB.
  • /tmp: Arquivos temporários. Recomenda-se 500 MB ou mais.
  • swap: Memória virtual. Geralmente 1 a 2 vezes a memória física.

Download dos Pacotes Necessários

Após a instalação do CentOS e a configuração da rede, acesse o diretório de Downloads como usuário hadoop:

cd /home/hadoop/Downloads

Baixe o Hadoop e o JDK utilizando os comandos wget. Prefira sempre os sites oficiais para evitar porblemas de compatibilidade:

wget http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.6.4/hadoop-2.6.4.tar.gz
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u101-b13/jdk-8u101-linux-x64.tar.gz

Configuração do Ambiente Java

Extraia o JDK:

tar -zxvf jdk-8u101-linux-x64.tar.gz

Crie o diretório de instalação e ajuste as permissões:

sudo mkdir /usr/java
sudo chown hadoop:hadoop /usr/java/

Mova o conteúdo extraído e configure as variáveis de ambiente editando o arquivo /etc/profile como root:

export JAVA_HOME=/usr/java/jdk1.8.0_73
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

Recarregue o arquivo e verifique a instalação:

source /etc/profile
java -version

Configuração do Hadoop

Crie o diretório do Hadoop e ajuste as permissões:

sudo mkdir /usr/hadoop
sudo chown hadoop:hadoop /usr/hadoop/
cp -r hadoop-2.6.4 /usr/hadoop/

Arquivo core-site.xml

Edite /usr/hadoop/hadoop-2.6.4/etc/hadoop/core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.1.50:9000</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/hadoop/hadoop-2.6.4/tmp</value>
    </property>
</configuration>

Crie o diretório tmp:

mkdir /usr/hadoop/hadoop-2.6.4/tmp

Arquivo hdfs-site.xml

Edite /usr/hadoop/hadoop-2.6.4/etc/hadoop/hdfs-site.xml:

<configuration>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>192.168.1.50:9001</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/hadoop/hadoop-2.6.4/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/hadoop/hadoop-2.6.4/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
</configuration>

Crie os diretórios necessários:

mkdir -p /usr/hadoop/hadoop-2.6.4/dfs/name
mkdir -p /usr/hadoop/hadoop-2.6.4/dfs/data

Arquivo mapred-site.xml

Crie a partir do template:

cp /usr/hadoop/hadoop-2.6.4/etc/hadoop/mapred-site.xml.template /usr/hadoop/hadoop-2.6.4/etc/hadoop/mapred-site.xml

Edite mapred-site.xml:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>192.168.1.50:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>192.168.1.50:19888</value>
    </property>
</configuration>

Arquivo yarn-site.xml

Edite /usr/hadoop/hadoop-2.6.4/etc/hadoop/yarn-site.xml:

<configuration>
    <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>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>192.168.1.50:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>192.168.1.50:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>192.168.1.50:8035</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>192.168.1.50:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>192.168.1.50:8088</value>
    </property>
</configuration>

Configuração JAVA_HOME no Hadoop

Adicinoe a linha export JAVA_HOME=/usr/java/jdk1.8.0_73 no início dos arquivos:

/usr/hadoop/hadoop-2.6.4/etc/hadoop/hadoop-env.sh
/usr/hadoop/hadoop-2.6.4/etc/hadoop/yarn-env.sh

Formatação e Iincialização

Atribua todas as permissões ao usuário hadoop:

sudo chown -R hadoop:hadoop /usr/hadoop/hadoop-2.6.4/

Formate o HDFS (apenas na primeira execução):

bin/hadoop namenode -format

Desative o firewall e o SELinux:

sudo service iptables stop
sudo chkconfig iptables off
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

Reinicie o sistema para aplicar as alterações do SELinux.

Validação do Cluster

Inicie os serviços:

sbin/start-dfs.sh
sbin/start-yarn.sh

Verifique o status via linha de comando:

bin/hadoop dfsadmin -report

Ou acesse as interfaces web:

  • HDFS: http://192.168.1.50:50070/dfshealth.html
  • YARN: http://192.168.1.50:8088

Tags: CentOS hadoop JDK Instalação VMware

Publicado em 8-19 05:15