Guia Passo a Passo para Começar com Hadoop

O Hadoop é uma das plataformas mais populares para o processamento e armazenamento de grandes volumes de dados, usando um cluster distribuído. Se você está começando com Hadoop, este guia passo a passo ajudará a configurar um ambiente básico, explicando desde a instalação até a execução de tarefas básicas no Hadoop Distributed File System (HDFS).

1. O Que é Hadoop?

Hadoop é um framework de software de código aberto que permite o processamento de grandes conjuntos de dados distribuídos em clusters de computadores usando modelos de programação simples. Os componentes principais do Hadoop incluem:

  • Hadoop Distributed File System (HDFS): Sistema de arquivos distribuídos que armazena dados em blocos e os replica entre vários nós.
  • MapReduce: Modelo de processamento para análise de dados distribuídos.
  • YARN (Yet Another Resource Negotiator): Gerenciador de recursos do Hadoop que coordena e aloca recursos nos clusters.
  • Hadoop Common: Conjunto de utilitários que suportam os outros módulos.

2. Pré-requisitos

Antes de iniciar a instalação do Hadoop, certifique-se de que seu ambiente está configurado corretamente:

  • Java JDK 8 ou superior: Hadoop requer o Java Development Kit (JDK). Verifique se o Java está instalado usando o comando java -version. Se necessário, instale o JDK disponível aqui.
  • Ambiente Linux: Este guia foca na configuração em sistemas Linux (Ubuntu ou CentOS), que são os mais comuns para clusters Hadoop. O Hadoop também pode ser instalado no Windows com algumas adaptações, mas o processo é mais complexo.
  • SSH Configurado: O Hadoop precisa de SSH para comunicação entre nós. Verifique se o SSH está instalado e funcionando.

3. Baixar e Instalar o Hadoop

  1. Baixar o Hadoop: Baixe a versão mais recente do Hadoop no site oficial do Apache Hadoop: Download Hadoop. Use o comando abaixo para baixar diretamente a versão desejada (substitua pelo link da versão específica):
   wget https://downloads.apache.org/hadoop/common/hadoop-X.Y.Z/hadoop-X.Y.Z.tar.gz

Substitua X.Y.Z pela versão atual. Exemplo: hadoop-3.3.6.

  1. Extrair o Hadoop: Extraia o arquivo tar.gz baixado para o diretório /usr/local/hadoop:
   sudo tar -xzvf hadoop-X.Y.Z.tar.gz -C /usr/local/
   sudo mv /usr/local/hadoop-X.Y.Z /usr/local/hadoop
  1. Configurar Variáveis de Ambiente: Adicione as variáveis de ambiente do Hadoop ao arquivo .bashrc do usuário para facilitar o uso:
   nano ~/.bashrc

Adicione as linhas abaixo ao final do arquivo:

   export HADOOP_HOME=/usr/local/hadoop
   export HADOOP_INSTALL=$HADOOP_HOME
   export HADOOP_MAPRED_HOME=$HADOOP_HOME
   export HADOOP_COMMON_HOME=$HADOOP_HOME
   export HADOOP_HDFS_HOME=$HADOOP_HOME
   export YARN_HOME=$HADOOP_HOME
   export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
   export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

Salve e feche o arquivo, depois atualize o terminal:

   source ~/.bashrc

4. Configuração do Hadoop

  1. Configurar o Java Home no Hadoop: Edite o arquivo hadoop-env.sh para apontar para o diretório de instalação do Java:
   nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh

Encontre a linha export JAVA_HOME=... e defina-a para o caminho do seu JDK:

   export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
  1. Configurar Arquivos Core do Hadoop: A configuração básica do Hadoop envolve a edição de quatro arquivos principais: core-site.xml, hdfs-site.xml, mapred-site.xml, e yarn-site.xml.
  • Configurar core-site.xml: Defina o diretório do sistema de arquivos e a porta do namenode. nano $HADOOP_HOME/etc/hadoop/core-site.xml Adicione as seguintes configurações: <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
  • Configurar hdfs-site.xml: Configure o diretório de armazenamento do namenode e datanode. nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml Adicione as configurações: <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///usr/local/hadoop/data/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///usr/local/hadoop/data/datanode</value> </property> </configuration>
  • Configurar mapred-site.xml: Configure o modo de execução do MapReduce. cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml nano $HADOOP_HOME/etc/hadoop/mapred-site.xml Adicione: <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
  • Configurar yarn-site.xml: Configure o YARN para gerenciamento de recursos. nano $HADOOP_HOME/etc/hadoop/yarn-site.xml Adicione: <configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>

5. Inicializando o Hadoop

  1. Formatar o Namenode: Antes de iniciar o Hadoop pela primeira vez, formate o Namenode:
   hdfs namenode -format
  1. Iniciar os Serviços do Hadoop: Inicie o HDFS e YARN com os comandos abaixo:
   start-dfs.sh
   start-yarn.sh
  1. Verificar os Serviços: Acesse a interface web do HDFS para verificar o estado do cluster:
  • HDFS Namenode Web UI: http://localhost:9870
  • YARN ResourceManager Web UI: http://localhost:8088

6. Testando o Hadoop com Comandos Básicos

Agora que o Hadoop está configurado e em execução, você pode realizar operações básicas no HDFS:

  1. Criar um Diretório no HDFS:
   hdfs dfs -mkdir /user
  1. Enviar um Arquivo para o HDFS:
   hdfs dfs -put /caminho/do/arquivo.txt /user
  1. Listar Arquivos no HDFS:
   hdfs dfs -ls /user
  1. Ler o Conteúdo de um Arquivo no HDFS:
   hdfs dfs -cat /user/arquivo.txt
  1. Deletar um Arquivo no HDFS:
   hdfs dfs -rm /user/arquivo.txt

Conclusão

Este guia fornece uma introdução completa para começar com Hadoop, cobrindo desde a instalação até a configuração e operação básica do HDFS. Com essa base, você pode expandir suas habilidades explorando o MapReduce, Spark, Hive, e outras ferramentas que integram com Hadoop para análises de Big Data.

Edvaldo Guimrães Filho Avatar

Published by

Categories: ,

Leave a comment