Pplware

Vamos transformar os seus Raspberry PI num cluster (Parte 2)

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 fazer a instalação num único Raspberry, hoje vamos mostrar como adicionar duas máquinas ao cluster.

Pré-Requisitos

Para este tutorial vamos considerar 3 Raspberry PI. Um dos equipamentos vai funcionar como master e os outros dois como slave. Em termos de configuração de rede vamos considerar o seguinte:

Devem ainda ter instalado em todas as máquinas o JAVA.

Nota: A configuração do slave2 é semelhante à do slave1, por isso basta replicar e ajustar. Nos passos seguintes vamos incluir todas as configurações do master e do slave. Caso já tenham realizado o tutorial anterior, provavelmente haverão alguns passos que já não são necessários.

 

Configuração Master

Façam login como root e procedam à seguinte configuração

Passo 1) Instalar o Java
apt-get install openjdk-7-jdk
Passo 2) Criar o user/group “hadoop”
adduser hadoop

Para adicionar o user hadoop ao grupo sudo

sudo adduser hadoop sudo
Passo 3) Gerar chaves SSH e activar acesso
su hadoop
cd ~
ssh-keygen –t rsa –P “”

Para activar o acesso use o seguinte comando

cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

Verificação: (pode experimentar ligar-se ao localhost sem autenticação)

Vamos agora definir permissões de leitura e escrita para o user hadoop, para o ficheiro autorized_keys

chmod 600 $HOME/.ssh/authorized_keys
Passo 4) Definir hostname para  Raspberry PI master
nano –w /etc/hostname

Passo 5) Definir nós do cluster no ficheiro hosts
nano –w /etc/hosts

Passo 6) Copiar chave SSH para slave

Para copiar a chave SSH para o slave1 basta que execute o seguinte comando:

ssh-copy-id --i ~/.ssh/id_rsa.pub slave1

Nota 4: Para saber se o ficheiro foi copiado pode, através do master, ligar-se ao slave usando o comando ssh slave1.

Passo 7) Configurar serviços do Hadoop

Nota 5: Nesta fase deverá ter já o Hadoop instalado. Veja aqui como o fazer. Depois de ter toda a estrutura do hadoop, deve proceder às seguintes alterações:

Editar o ficheiro hdfs-site.xml

nano –w /usr/local/hadoop/etc/hadoop/hdfs-site.xml

Dentro do ficheiro, alterar o valor do dfs.replication para 3.

Vamos agora criar um directório com o nome namenode dentro do directório /usr/local/hadoop e definir como dono e grupo o hadoop.

mkdir -p /usr/local/hadoop/hadoopdata/hdfs/namenode
sudo chown -R hadoop:hadoop /usr/local/hadoop/

De seguida vamos editar o ficheiro  /usr/local/hadoop/etc/hadoop/yarn-site.xml e definir a seguinte estrutura

O próximo passo é editar o ficheiro /usr/local/hadoop/etc/hadoop/core-site.xml e verificar se o hostname está bem definido.

Por fim, no Raspberry PI master, vamos criar dois ficheiros que vão ter a informação do nome do master e dos slaves.

[slaves]

nano –w /usr/local/hadoop/etc/hadoop/slaves

[masters]

nano –w /usr/local/hadoop/etc/hadoop/masters

Até aqui temos a configuração do nó master concluída. Devem agora passar para o slave1 e slave2. Neste tutorial vamos apenas mostrar a configuração no slave1 pois a configuração será idêntica no slave2.

Configuração slave

Passo 1) Download e instalação do Apache Hadoop
sudo su
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 2) Criar o user/group “hadoop”
addgroup hadoop

Para que este utilizador possa recorrer ao sudo, deverá executar o seguinte comando:

sudo adduser hadoop sudo
Passo 3) Copiar estrutura do master para slave

Por fim, devem voltar a ligar-se ao master e copiar parte da estrutura do hadoop para os slave. Para isso devem posicionar-se na pasta /usr/local/hadoop/etc/hadoop e copiar todos os ficheiros *.site.xml para o slave. Para simplificar a tarefa podemos usar o comando scp.

scp *-site.xml hadoop@10.10.10.2:/usr/local/hadoop/etc/hadoop

E está feito. Agora, a partir do master, vamos arranjar o serviço associado ao cluster. Para isso devem ir para o directório /usr/local/hadoop/sbin e executar o comando ./start.all.sh

Para verem se está a correr podem usar o comando jps

No slave1 podem também usar o comando jps para ver se o NodeManager e o DataNode estão activos.

Através do master podem ainda aceder à interface gráfica de gestão para verificar a informação sobre os slaves.

E está tudo operacional. Não se esqueçam de agora replicar as configurações do slave1 para o slave2. De referir ainda que nesta fase podem adicionar quantos slaves pretenderem… o que significa que, quantos mais Raspberry Pi tiverem mais poder computacional terá o cluster.

Exit mobile version