Skip to content

Laboratório básico para a ferramenta Hadoop provisionado no Google Cloud Platform - GCP

License

Notifications You must be signed in to change notification settings

DiegoBulhoes/lab-hadoop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lab Hadoop

Laboratório básico para a ferramenta Hadoop provisionado no Google Cloud Platform - GCP

Web Interfaces

O cluster Hadoop estiver instalado e funcionando, verifique a interface do usuário da web dos componentes conforme descrito abaixo:

Service url Port
ResourceManager http://<<ip_master>>:port/ Default HTTP port is 8088.

Terraform

O Terraform irá instanciar 3 máquinas e compartilhar a chave pública do host com as máquinas virtuais, deverá ter o nome "id_rsa.pub". Para passar as credenciais para o terraform basta popular a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS.

  export GOOGLE_APPLICATION_CREDENTIALS=<path_json>

Inicializar o laboratório

Clonar o projeto

git clone  https://github.com/DiegoBulhoes/lab-hadoop

Exportar as variáveis de ambiente

export GCP_SERVICE_ACCOUNT_FILE=/path/keyfile.json  && \
export GOOGLE_APPLICATION_CREDENTIALS=/path/keyfile.json

Um dos passos necessários para utilizar esse setup é possuir uma par de keys SSH, podendo ser gerado através do seguinte comando, para mais detalhes consulte a documentação atrves desse link

ssh-keygen

Após a geração da chave renomeie o arquivo terraform/terraform.tfvars.sample para terraform.tfvars (nesse arquivo irá conter todas as variáveis para criar as instâncias no GCP). Crie um service-accounts com uma chave do tipo JSON e exponha no ambiente através do variável GCP_SERVICE_ACCOUNT_FILE

export GCP_SERVICE_ACCOUNT_FILE=/path/keyfile.json

Para inicializar os modulos, execute o seguinte comando:

terraform init

Para verificar se os arquivos possui algum erro de sintaxe ou de configuração das instâncias execute o seguinte comando:

terraform plan

Após a verificação do plan execulte o seguinte comando para realizar o processo de instanciação

terraform apply

Se tudo estiver ok a saída será similar a esta:

Apply complete! Resources: 6 added, 0 changed, 0 destroyed.

Outputs:

manager_public = [
  "<<ip_public>>",
]
worker_internal = [
  "<<ip_internal1>>",
  "<<ip_internal1>>"
]

Ansible

Para realizar a configuração do ambiente será necessário popular a variável de ambiente GCP_SERVICE_ACCOUNT_FILE

  export GCP_SERVICE_ACCOUNT_FILE=<path_json>

Executar o Ansible

Para execultar o Ansible será necessário realizar o download do plugin gce_compute:

  pip3 install requests google-auth

Crie os arquivos inventory.gcp.yml e playbook.yml, utilize os exemplos.

Para inicializar o Ansible:

  ansible-playbook -i inventory.gcp.yml -u gce  playbook.yml

Exemplo

Para executar uma aplicação Hadoop deverá ser criado um diretório no qual será gerado uma pasta de saída, a pasta de saída não pode existir.

hdfs namenode -format

Inicialize os serviços:

start-dfs.sh
start-yarn.sh

Para executar uma aplicação Hadoop deverá ser criado um diretorio no qual será gerado uma pasta de saída, a pasta de saída não pode existir.

mkdir input
cp $HADOOP_COMMON_HOME/etc/hadoop/*.xml input

Copiar o diretório input para o HDFS

hadoop dfs -copyFromLocal input /in

Execultar o WordCount

hadoop jar $HADOOP_COMMON_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.2.jar wordcount /in output

Coletar a saída do HDFS

hdfs dfs -get output output
cat output/*

About

Laboratório básico para a ferramenta Hadoop provisionado no Google Cloud Platform - GCP

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published