O Apache Hadoop é uma Framework/Plataforma desenvolvida em Java, para computação distribuída, usada para processamento de grandes quantidades de informação (usando modelos de programação simples).
Depois de mostrarmos como instalar o Apache Hadoop no CentOS, hoje vamos ensinar a instalar no Raspberry PI.
Após a apresentação do Apache Hadoop, alguns leitores solicitaram-nos um tutorial para Ubuntu ou derivados. Para tal, recorremos ao Pipplware, mas tal tutorial pode ser aplicado em qualquer distribuição baseada no Ubuntu.
Com instalar o Apache Hadoop no Raspberry PI?
Para a instalação do Apache Hadoop no Raspberry PI devem seguir os seguintes passos:
Passo 1) Instalar o servidor de SSH
sudo su
apt-get install openssh-server
Passo 2) Criar chave SSH
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
Passo 3) Instalar o Java
apt-get install openjdk-7-jdk
Passo 4) Download e instalação do Apache Hadoop
wget https://www.apache.org/dist/hadoop/core/hadoop-2.7.0/hadoop-2.7.0.tar.gz
tar xzf hadoop-2.7.0.tar.gz
cp -rv hadoop-2.7.0 /usr/local/hadoop
Passo 5) Definir variáveis de ambiente
Abrir o ficheiro ~/.bashrc usando o comando nano -w ~/.bashrc
e acrescentar as seguintes variáveis:
export HADOOP_PREFIX=/usr/local/hadoop
export PATH=$PATH:$HADOOP_PREFIX/bin
Passo 6) Definir JAVA_HOME
Vamos agora editar o ficheiro $HADOOP_PREFIX/etc/hadoop/hadoop-env.sh e definir a variável de ambiente JAVA_HOME.
Para editar o ficheiro basta que usem o comando nano -w $HADOOP_PREFIX/etc/hadoop/hadoop-env.sh
Nota: Quando executarem o cluster e caso tenham um erro no JAVA_HOME, definam esta variável também no ~/.bashrc. Ou simplesmente executem o comando export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
O Apache Hadoop tem muitos ficheiros de configuração. Este ficheiros permitem as mais diversas configurações, de acordo com as necessidades de cada utilizador. Hoje vamos configurar um simples nó de um cluster para isso devem aceder a $HADOOP_HOME/etc/hadoop e alterar os seguintes ficheiros.
core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/datanode</value>
</property>
</configuration>
mapred-site.xml
Nota: Caso não tenham este ficheiro, verifiquem se existe o ficheiro mapred-site.xml.template. Neste caso devem mudar o nome mapred-site.xml.template para mapred-site.xml.
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
Passo 7) Criar utilizador e definir permissões
useradd hadoop
passwd hadoop
sudo chown -R hadoop /usr/local/hadoop/
Feitas as configurações nos ficheiros anteriores, vamos formatar o namenode usando o seguinte comando:
hdfs namenode –format
Por fim vamos agora iniciar todos os serviços (com privilégios root) associados ao hadoop. Para tal basta que executem os seguintes comandos:
cd $HADOOP_PREFIX/sbin/
./start-dfs.sh
./start-yarn.sh
Para verificar se todos os serviços iniciaram correctamente, devem usar o comando jps e visualizar um output do tipo:
5536 DataNode
5693 SecondaryNameNode
5899 ResourceManager
6494 Jps
5408 NameNode
6026 NodeManager
Aceder ao Apache Hadoop
Para aceder à interface de gestão do Apache Hadoop basta que abram um browser e introduzam o endereço http://localhost:8088
Para visualizar informações sobre o cluster basta que abram um browser e introduzam o endereço http://localhost:50070
E está feito! Se tudo estiver a funcionar… Parabéns, você instalou com sucesso o Apache Hadoop! Num próximo artigo iremos ensinar como acrescentar, tal como prometido no artigo anterior, mais nós ao cluster.