Apache Hadoop — Instalação e configuração de um cluster no Ubuntu 18 (Single-Node)

O Apache Hadoop é uma framework desenvolvida em Java, para computação distribuída, usada para processamento de grandes quantidades de informação.

Para melhor entender o que vai ser feito neste tutorial, deve saber que o Hadoop está dividido em duas partes essenciais:

  • Hadoop Distributed File System (HDFS)

Sistema de ficheiros distribuído que armazena dados em máquinas dentro do cluster.

Pré-requisitos:

  • Ubuntu 18.04 (Máquina virtualizada no VirtualBox ou outra plataforma)
  • Java instalado

Para verificar a versão do java use o comando:

user@ubuntu:~$ java -version

Caso não tenha o java instalado, basta executar os seguintes comandos:

user@ubuntu:~$ sudo apt-get install default-jre
user@ubuntu:~$ sudo apt-get install default-jdk

Passo 1) Configuração do utilizador Hadoop

Depois do java instalado, o primeiro passo é criar um utilizador Hadoop no sistema para acesso ao HDFS e MapReduce.

Para evitar problemas de segurança, é recomendável configurar um novo grupo de utilizadores do Hadoop.

user@ubuntu:~$ sudo addgroup hadoop

Para adicionar um utilizador Hadoop de nome hadoopusr:

user@ubuntu:~$ sudo addusr -–ingroup hadoop hadoopusr
user@ubuntu:~$ sudo adduser hadoopusr sudo

Passo 2) Instalação e configuração do SSH

De seguida vamos proceder à instalação e configuração do SSH.

Para instalar o OpenSSH Server, basta executar o seguinte comando:

user@ubuntu:~$ sudo apt-get install openssh-server

O Hadoop usa o SSH para aceder aos nós. Neste caso, como estamos a fazer uma configuração para um single-node, necessitamos de configurar o SSH para aceder ao localhost.

Vamos entrar com o utilizador hadoopusr:

O próximo passo é gerar uma chave publica SSH para o hadoopusr

hadoopusr@ubuntu:~$ ssh-keygen -t rsa -P “”

De seguida, vamos adicionar a chave gerada anteriormente para a lista de authorized_keys. Para isso, basta executar o seguinte comando:

hadoopusr@ubuntu:~$ cat $HOME/ .ssh/id_rsa.pub >> $HOME/ .ssh/authorized_keys

Para verificar a configuração do SSH, deve utilizar o seguinte comando:

hadoopusr@ubuntu:~$ ssh localhost

No fim, deve executar o comando exit para terminar a ligação.

Passo 3) Instalação e configuração do Hadoop

Vamos agora proceder ao download do Hadoop 2.9.1.

A ficheiro ficará no ambiente de trabalho. Para isso, basta executar o seguinte comando:

hadoopusr@ubuntu:~$ sudo wget -P /home/user/Desktop http://mirrors.sonic.net/apache/hadoop/common/hadoop-2.9.1/hadoop-2.9.1.tar.gz

Mudamos o diretório para o Desktop para proceder à descompactação da pasta do Hadoop

hadoopusr@ubuntu:~$ cd /home/user/Desktop
hadoopusr@ubuntu:~$ sudo tar xvzf hadoop-2.9.1.tar.gz

Feita a descompactação, vamos mover a pasta para o diretório /usr/local/hadoop

hadoopusr@ubuntu:~$ sudo mv hadoop-2.9.1 /usr/local/hadoop

Vamos atribuir a propriedade da pasta ‘hadoop’ ao utilizador hadoopusr

hadoopusr@ubuntu:~$ sudo chown -R hadoopusr /usr/local

Para alteração de ficheiro pode ser usada o nano ou gedit, em geral o nano é mais simples de utilizar e causa menos problemas.

Procedamos agora à configuração de diversos ficheiros. A configuração do Apache Hadoop deverá começar pela definição das seguintes variáveis de ambiente que deverão estar no ficheiro ~/.bashrc.

hadoopusr@ubuntu:~$ sudo nano ~/.bashrc

Depois de executar o comando anterior, deve copiar as seguintes configurações para o final do ficheiro:

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
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 HADOOP_OPTS=""
export HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar

Clique em ‘Save’ e depois, para que a configuração seguinte tenha efeito na sessão corrente, basta que use o comando:

hadoopusr@ubuntu:~$ source ~/.bashrc

Vamos agora editar o ficheiro hadoop-env.sh e definir a variável de ambiente JAVA_HOME.

hadoopusr@ubuntu:~$ cd /usr/local/hadoop/etc/hadoop/
hadoopusr@ubuntu:~$ sudo nano hadoop-env.sh

Basta adicionar a seguinte linha ao ficheiro, colocando a que já lá está em comentário, utilizando um ‘#’ antes da frase.

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

Nota: Dependendo da versão do java que tem instalado na máquina, deve alterar o último nome do caminho (java-8-openjdk-amd64). Tipicamente, só necessita de alterar o número da versão do java.

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

Vamos agora criar as pastas para o namenode e o datanode, executando os seguintes comandos:

sudo mkdir -p /usr/local/hadoop_space/hdfs/namenode
sudo mkdir -p /usr/local/hadoop_space/hdfs/datanode

Já acabamos as configurações necessárias, agora vamos atribuir a propriedade da pasta “hadoop_space” ao utilizador hadoopusr e de seguida formatar o namenode usando o comando seguinte:

sudo chown -R hadoopusr /usr/local/hadoop_space
cd
hdfs namenode -format

Agora vamos iniciar os serviços do hadoop, para isso executamos os comando seguinte:

start-all.sh

Para vermos se todos os serviços iniciaram corretamente executamos o seguinte comando:

jps

Para aceder à interface de gestão do Apache Hadoop basta abrir o browser e inserir o seguinte url.

http://localhost:8088/cluster

Se conseguiu chegar até aqui, pode vangloriar-se para todos os seus amigos de que conseguiu instalar o Apache Hadoop com sucesso!

--

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
João Saraiva

João Saraiva

More from Medium

Underwriting Engine at Ethos

Manufacturing Line Optimization using Discrete Event Simulation

RTOS, Tasks and Mutexes to the rescue

Understanding Solana: Leader Rotation Mechanism