Instalar e configurar um cluster Apache Spark no Hadoop Ubuntu 18.04 (Multi-Node)

Vagner Bom Jesus
7 min readJun 1, 2021

Neste artigo, fornecerei instruções passo a passo sobre como instalar o Apache Spark em um cluster em dois Slave.

Apache Spark é uma estrutura de processamento de dados que pode executar rapidamente tarefas de processamento em conjuntos de dados muito grandes e também pode distribuir tarefas de processamento de dados em vários computadores, por conta própria ou em conjunto com outras ferramentas de computação distribuídas.

Arquitetura Spark

O Apache Spark segue uma arquitetura mestre / escravo com dois daemons principais e um gerenciador de cluster.

  • Master Daemon — (Processo Master / Driver)
  • Worker Daemon — (processo escravo)
  • Gerenciador de clusters

Um cluster de faísca tem um único mestre e qualquer número de escravos / trabalhadores. O driver e os executores executam seus processos Java individuais e os usuários podem executá-los no mesmo cluster spark horizontal ou em máquinas separadas.

Pré-requisitos:

  • Ubuntu 18.04 instalado numa máquina virtual

1º Passo:

Configuração da rede..:

Adapter 1
Adapter 2

1º Passo:

Agora, para instalar o Java, precisamos fazer algumas coisas. Siga estes comandos e dê permissão quando necessário:

 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
sudo apt-get install software_properties_common
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

Para verificar se o java está instalado, execute o seguinte comando.

java -version

2º Passo:

Agora vamos instalar o Scala. Use este comando:

sudo apt-get install scala
install scala

Para verificar se o Scala foi instalado corretamente e a versão, execute este comando:

scala -version
version scala

Como você pode ver, o Scala versão 2.11.12 agora está instalado em minha máquina.

3º Passo:

Vamos configurar o SSH, mas esta etapa é apenas no mestre, precisamos instalar o Open SSH Server-Client , use o comando:

sudo apt-get install openssh-server openssh-client

Digite “Y” e depois Enter para continuar o processo de instalação.

4º Passo:

Crie 2 clones da Máquina Virtual

Certifique-se de que a opção “Generate new MAC addresses for all network adapters” de rede esta selecionado. Além disso, escolha a opção “Full Clone”.

Generate new MAC addresses for all network adapters
Full Clone

5º Passo:

Vamos alterar o hostname em cada máquina virtual. Abra o arquivo e digite o nome da máquina. Use este comando:

sudo nano /etc/hostname
hostname
master
slave1
slave2

6º Passo:

Agora vamos descobrir qual é o nosso endereço IP. Para fazer isso, basta digitar o comando:

ip addr
ip addr

Podemos ver que o ip da maquina é 192.168.56.101

Então a nossa configuração vai ser

  • master: 192.168.56.101
  • slave1: 192.168.56.102
  • slave2: 192.168.56.103

7º Passo:

Abra o ficheiro hosts no editor nano. O ficheiro está localizado no diretório /etc.

sudo nano /etc/hosts

Para guardar as alterações que você fez, pressione Ctrl + O, depois pressione Enter, para guardar com o mesmo nome. Para sair do editor de texto nano, pressione Ctrl + X.

Reinicie a máquina para a configuração ter efeito em todas as máquinas.

sudo reboot

8º Passo:

Crie uma chave ssh com o comando abaixo:

ssh-keygen -t rsa -P ""
ssh-keygen

9º Passo:

Use o seguinte comando para tornar esta chave autorizada:

cat ~ / .ssh / id_rsa.pub >> ~ / .ssh / authorized_keys

Copiamos a chave ssh para todos os utilizadores

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

10º Passo:

Vamos verificar se deu tudo certo, tente conectar nos escravos:

ssh slave1 
ssh slave2
slave1
slave2

Como você pode ver tudo correu bem, para sair basta digitar o comando:

exit

11º Passo:

Agora vamos baixar a versão mais recente do Apache Spark.

NOTA: Tudo dentro desta etapa deve ser feito em todas as máquinas virtuais.

Use o seguinte comando:

wget http://www-us.apache.org/dist/spark/spark-3.1.1/spark-3.1.1-bin-hadoop2.7.tgz

Esta é a versão mais recente no momento da redação deste artigo, ela pode ter mudado se você tentar mais tarde. De qualquer forma, acho que você ainda será bom usando este.

Extraia o arquivo Apache Spark que você acabou de baixar

Use o seguinte comando para extrair o arquivo Spark tar:

tar xvf spark-3.1.1-bin-hadoop2.7.tgz
spark-3.1.1-bin-hadoop2.7.tgz

Mover arquivos de software Apache Spark

Use o seguinte comando para mover os arquivos do software spark para o respectivo diretório ( /usr/local/bin ):

sudo mv spark-3.1.1-bin-hadoop2.7 /usr/local/spark
spark-3.1.1-bin-hadoop2.7 /usr/local/spark

Configure o ambiente para Apache Spark

Edite o arquivo .bashrc usando este comando:

sudo nano ~/.bashrc

Adicione a seguinte linha ao arquivo. Isso adiciona o local onde o arquivo do software spark está localizado à variável PATH.

export PATH = $PATH:/usr/local/spark/bin

Para guardar as alterações que você fez, pressione Ctrl + O, depois pressione Enter, para guardar com o mesmo nome. Para sair do editor de texto nano, pressione Ctrl + X.

Agora precisamos usar o seguinte comando para fornecer o arquivo ~ / .bashrc :

source ~/.bashrc
source ~/.bashrc

12º Passo:

Configuração master do Apache Spark (execute esta etapa apenas na máquina master)

Editar spark-env.sh

Mova para a pasta spark conf, crie uma cópia do modelo de spark-env.sh e renomeie-o.

cd /usr/local/spark/conf cp spark-env.sh.template spark-env.sh
spark-env.sh

13º Passo:

Agora edite o arquivo de configuração spark-env.sh.

$ sudo vim spark-env.sh

E adicione os seguintes parâmetros:

export SPARK_MASTER_HOST = '<MASTER-IP>' export JAVA_HOME = <Path_of_JAVA_installation>
spark-env.sh

14º Passo:

Adicionar Workers

Edite o arquivo de configuração em ( /usr/local/spark/conf).

sudo nano slaves

15º Passo:

Vamos tentar iniciar nosso Apache Spark Cluster, espero que esteja tudo bem!

Para iniciar o cluster Spark, execute o seguinte comando no master:

cd /usr/local/spark./sbin/start-all.sh

Não vou parar, mas caso você queira parar o cluster, este é o comando:

./sbin/stop-all.sh

16º Passo:

Para verificar se os serviços foram iniciados usamos o comando:

jps

17º Passo:

Navegue na IU do Spark para saber sobre seu cluster. Para fazer isso, vá para o seu navegador e digite:

master:8080/

Como está demonstrado na imagem anterior verificamos que é possível ver os ip’s dos nossos workers, em que vemos o nosso slave 1, slave 2 e o nosso master. Que demonstra que estão os 3 a trabalhar em simultâneo.

18º Passo:

Usando o Spark shell com o comando:

spark-shell

Para sair de uma sessão Scala do Spark, você pode digitar o comando :q e de seguida Enter.

Navegue na IU do Spark . Para fazer isso, vá para o seu navegador e digite:

master:4040/

Se desligarmos o nosso slave2 e efetuarmos o start (como demonstrado anteriormente), no browser verificamos o seguinte.

Conclusão:

Com isto chegamos ao fim.

Espero que você tenha sucesso, e este artigo seja útil.

Qualquer dúvida fique à vontade para me perguntar.

Bibliografia:

[1]: How to Install Spark on Ubuntu (link)

[2]: How to Install Apache Spark on Ubuntu 20.04 (link)

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Vagner Bom Jesus
Vagner Bom Jesus

Written by Vagner Bom Jesus

Licenciatura em Engenharia Informática

No responses yet

Write a response