Introdução ao Hadoop File System
Links da documentação oficial:
http://hadoop.apache.org/
Github:
https://github.com/toticavalcanti
![Criando uma aplicação reutilizável Hadoop Map Reduce](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Hadoop.png)
Hadoop Map Reduce
HADOOP – INTRODUÇÃO
- É UMA PLATAFORMA DE COMPUTAÇÃO DISTRIBUÍDA VOLTADA PARA CLUSTERS E PROCESSAMENTO DE GRANDES VOLUMES DE DADOS
- É UM SISTEMA OPERACIONAL PARA BIG DATA
- CÓDIGO ABERTO
- CRIADO POR DOUG CUTTING DO GOOGLE LABS EM 2005
- CRIAÇÃO MOTIVADA PELO DESAFIO DA ESCALABILIDADE PARA CONSEGUIR INDEXAR BILHÕES DE PÁGINAS NA WEB
- O HADOOP FOI PROJETADO PARA PARALELIZAR O PROCESSAMENTO DE DADOS ATRAVÉS DE NÓS DE COMPUTAÇÃO, ACELERAR PROCESSAMENTOS E ESCONDER A LATÊNCIA.
HADOOP – MÓDULOS
- HADOOP COMMON – CONTÉM AS BIBLIOTECAS E ARQUIVOS COMUNS E NECESSÁRIOS PARA TODOS OS MÓDULOS HADOOP.
- HADOOP DISTRIBUTED FILE SYSTEM (HDFS) – SISTEMA DE ARQUIVOS DISTRIBUÍDO QUE ARMAZENA DADOS EM MÁQUINAS DENTRO DO CLUSTER, SOB DEMANDA, PERMITINDO UMA LARGURA DE BANDA MUITO GRANDE EM TODO O CLUSTER.
- HADOOP YARN – TRATA-SE DE UMA PLATAFORMA DE GERENCIAMENTO DE RECURSOS RESPONSÁVEL PELO GERENCIAMENTO DOS RECURSOS COMPUTACIONAIS EM CLUSTER, ASSIM COMO PELO AGENDAMENTO DOS RECURSOS.
- HADOOP MAPREDUCE – MODELO DE PROGRAMAÇÃO PARALELA E DISTRIBUÍDA PARA PROCESSAMENTO EM LARGA ESCALA.
HADOOP – FUNCIONAMENTO
![Funcionamento Hadoop 01 Funcionamento Hadoop 01](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-01.png)
Funcionamento Hadoop, cada nó é uma máquina diferente.
![Funcionamento Hadoop 02](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-02.png)
Divide o arquivo vermelho de 128 megas em dois blocos de 64.
![Funcionamento Hadoop 03](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-03.png)
Distribui as réplicas do bloco 1 do arquivo vermelho
![Funcionamento Hadoop 04](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-04.png)
Distribui as réplicas do bloco 1 do arquivo vermelho
![Funcionamento Hadoop 05](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-05.png)
Distribui as réplicas do bloco 2 do arquivo vermelho
![Funcionamento Hadoop 06](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-06.png)
Distribui as réplicas do bloco 2 do arquivo vermelho
![Funcionamento Hadoop 07](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-07.png)
Distribui as réplicas do bloco 1 do arquivo amarelo
![Funcionamento Hadoop 08](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-08.png)
Distribui as réplicas do bloco 1 do arquivo amarelo
![Funcionamento Hadoop 09](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-09.png)
Distribui as réplicas do bloco 2 do arquivo amarelo
![Funcionamento Hadoop 10](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-10.png)
Distribui as réplicas do bloco 2 do arquivo amarelo
![Funcionamento Hadoop 11](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-11.png)
Distribui as réplicas do bloco 3 do arquivo amarelo
![Funcionamento Hadoop 12](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-12.png)
O arquivo azul será escrito no HDFS
![Funcionamento Hadoop 13](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-13-1.png)
É preciso se comunicar com o namenode para saber onde escrever
![Funcionamento Hadoop 14](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-14.png)
Comunicação com o namenode solicitando a escrita do arquivo azul
![Funcionamento Hadoop 15](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-15.png)
O name node responde: grave nos nós 1, 2 e 3
![Funcionamento Hadoop 16](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-16.png)
O cliente se comunica com o nó 1
![Funcionamento Hadoop 17](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-17.png)
O nó 1 se comunica com o 3 para a réplica do bloco 1 do arquivo azul
![Funcionamento Hadoop 18](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-18.png)
O nó 3 replica o bloco 1 do arquivo azul no nó 4
HADOOP – LENDO ARQUIVO
![Funcionamento Hadoop 19](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-19.png)
Lendo um arquivo, é preciso saber onde ele se espalha, por quais nós, é preciso se comunicar com o namenode
![Funcionamento Hadoop 20](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-20.png)
O namenode retorna dizendo que ele está nos nós 1, 3 e 4
- QUANDO SE QUER DESCOBRIR O QUE TÁ ACONTECENDO COM CLUSTER, É PRECISO SE COMUNICAR COM O NAMENODE
- POR EXEMPLO: ONDE POSSO LER O ARQUIVO AZUL?
- COM A RESPOSTA DO NAMENODE, A COMUNICAÇÃO PASSA A SER DIRETAMENTE COM O(S) DATANODE(S) QUE TEM O ARQUIVO AZUL
HADOOP – RESPONSABILIDADES
![Funcionamento Hadoop 22](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-22.png)
Queda do nó 3
![Funcionamento Hadoop 24](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-24.png)
Namenode replica o bloco 1 do arquivo amarelo no nó 4
![Funcionamento Hadoop 25](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-25.png)
Namenode replica o bloco 1 do arquivo vermelhono nó 2
![Funcionamento Hadoop 26](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-26.png)
Namenode replica o bloco 2 do arquivo vermelho no nó 1
![Funcionamento Hadoop 27](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-27.png)
Namenode replica o bloco 2 do arquivo amarelo no nó 1
![Funcionamento Hadoop 28](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-28.png)
Namenode replica o bloco 1 do arquivo azul no nó 2
![Funcionamento Hadoop 29](http://www.codigofluente.com.br/wp-content/uploads/2018/04/Funcionamento-Hadoop-29.png)
Agora todos os blocos de todos os arquivos estão replicados 3 vezes através das máquinas do cluster
HADOOP – RÉPLICAS
- AS RÉPLICAS SÃO NÃO SÓ PARA A SEGURANÇA DA INTEGRIDADE DOS DADOS, MAS TAMBÉM PELA LOCALIZAÇÃO DOS DADOS
- IMAGINEMOS QUE SE QUEIRA FAZER UM MAP-REDUCE NO ARQUIVO AZUL, COMO ELE TÁ NOS NÓS 1, 2 E 4, O TRABALHO DE MAP-REDUCE DEVERÁ OCORRER PREFERENCIALMENTE NESSES NÓS
- NO MAP-REDUCE, O PROCESSAMENTO É LEVADO AOS DADOS E NÃO OS DADOS AO PROCESSAMENTO