Implementação de um sistema distribuído usando ubuntu 18.04 e Spark

Pedro Antunes
4 min readJun 1, 2021

Este trabalho foi feito em grupo com Rui Pissarra.

Para fazer este tutorial e necessário criar uma maquina virtual com o ubuntu:

https://brb.nci.nih.gov/seqtools/installUbuntu.html

Apos ter criado a maquina virtual e necessário fazer dois clones da mesma usando a seguinte configuração:

Apos feito isto teremos que ir a setting — network — adapter 2 e colocar a seguinte configuração nas três maquinas:

De seguida teremos que configurar o hostname nas três maquinas usando o seguinte código:

Fazer este mesmo passo para as outras maquinas coms os repetivos hostnames:

slave1 e slave2.

De seguida no master iremos ver o ip:

Sendo os ips nas nossas maquinas os seguintes:

master 192.168.56.115
slave1 192.168.56.116
slave2 192.168.56.117

De seguida iremos aceder ao ficheiro host em cada maquina e alterar o ficheiro para o seguinte :

De seguida iremos reiniciar todas as maquinas com o seguinte comando:

De seguida iremos instalar o java 11 com os seguintes comandos em cada uma das maquinas:

$ sudo apt-get install software_properties_common
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install openjdk-11-jdk

Iremos verificar se o java foi instalado corretamente:

De seguida iremos instalar o scala:

De seguida iremos instalar o openssh nas tres maquinas virtuais:

Vamos criar a nossa chave ssh.

Agora iremos copiar a chave publica para o ficheiro de chaves autorizadas.

De seguida iremos copiar a chave para os slaves.

ssh-copy-id user@slave1
ssh-copy-id user@slave2

Para ver se correu tudo bem iremos conectar as slaves a partir do master com o seguinte comando

Para sair escrevemos exit.

De seguida iremos instalar o Spark no master:

Depois iremos extrair o ficheiro que acabamos de fazer download.

Agora vamos mover o Spark para o diretório necessário.

Editamos o ficheiro .bashrc:

De seguida iremos adicionar o seguinte código ao ficheiro

De seguida efetuamos o seguinte codigo:

Depois iremos mover o spark e copiar o seu template.

No fim do ficheiro inserimos o seguinte.

export SPARK_MASTER_HOST='<MASTER-IP>'export JAVA_HOME=<Path_of_JAVA_installation>

Depois vamos adicionar os Workers.

Adicionamos ao ficheiro:

Inicializamos o spark

Verificamos se o serviço iniciou:

Depois iremos ao 192.168.56.115:8080 no browser para verificar que os 3 estão a trabalhar em simultâneo.

Se desligarmos a slave2 o output será este:

Com isto terminamos o nosso tutorial.

--

--