Arquitetura do Framework
Apache Hadoop
Universidade Estadual do Rio de Janeiro - UERJ
Instituto de Matemática e Estatística- IME
FELIPE SCHIMITH BATISTA
Aluno de Mestrado
Framework
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Existem várias definições de framework.
Segundo Darren Govoni
Livro: Java application frameworks (1999)
“Um framework é uma coleção abstrata de classes, interfaces e padrões
dedicado a resolver um conjunto de problemas através de uma arquitetura
flexível e extensível”
Agenda
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
I. História
II. Introdução
III. Ecossistema Hadoop
IV. Conceito Map-Reduce
V. Arquitetura Hadoop
VI. Processamento
VII. Áreas de Aplicação
VIII. Exemplo de Aplicação
História
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Out 2003 : Google publicou o primeiro paper GFS (Google File System)
Jul 2005 : Nutch NDFS (projeto open source de Web Search Engine baseado em Lucene)
começa a usar MapReduce
Fev 2006 : Torna-se um subprojeto Lucene, e é renomeado Hadoop
Abr 2007 : Yahoo! Cria um cluster de mais de 1000-nodes
Jan 2008 : A Apache torna o Hadoop um projeto Top Level
Abr 2009 : Ganhou o “Minute Sort” processando 500 GB em 59 segundos
(com 1406 nodes)
Out 2013 : Ganhou o “Gray Sort” (100 TBs / minutos) processando 102 TB em 4 segundos
(com 2100 nodes)
Fontes: http://sortbenchmark.org/
http://static.googleusercontent.com/media/research.google.com/pt-BR//archive/gfs-sosp2003.pdf
http://www.ordinal.com/gensort.html
Introdução
Com o avanço tecnológico, as formas de computação que visam a melhoria no
desempenho dos algoritmos vêm sendo aprimoradas, um dos objetivos é a melhor
utilização dos recursos de hardware cada vez mais acessíveis, obtendo ganho de
tempo de processamento.
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Introdução
Algumas dessas soluções são baseadas em arquiteturas com memória compartilhada ou
arquiteturas com computação distribuída. Isso possibilita novos métodos de paralelismo e
clusterização, o que viabiliza a análise de uma quantidade de dados cada vez maior em
menos tempo.
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Memória
CPU
Tradicional
Execução
Memória
CPU
Memória centralizada (SMP)
CPUCPU
Memória
CPU
Computação Distribuída (Cluster)
CPUCPU
Memória Memória
FS FS FS
Arquitetura do framework
Apache Hadoop
SMP- Symmetric MultiProcessors
Ecossistema Hadoop
O Hadoop é um projeto open-source da Apache utilizado para computação distribuída.
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Fonte: http://hortonworks.com
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
• Princípio da Divisão e Conquista
• Alto desempenho
• Processamento em paralelo
Map-Reduce
• Gerenciador de Recursos do Cluster
• Negociador de Recusos
• Organizador de Tarefas
YARN
• Armazenamento distribuído
• Storage system tolerante a falhas
• Altamente escalável
Hadoop
Distributed File
System (HDFS)
Ecossistema Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Carro Moto Ônibus
Ônibus Barco Navio
Barco Carro Barco
Carro Moto Ônibus
Ônibus Barco Navio
Ônibus Barco Navio
Entrada
Divisão
Map-Reduce Conceito Map-Reduce
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Carro Moto Ônibus
Ônibus Barco Navio
Barco Carro Barco
Carro Moto Ônibus
Ônibus Barco Navio
Ônibus Barco Navio
Carro 1
Moto 1
Ônibus 1
Ônibus 1
Barco 1
Navio 1
Ônibus 1
Barco 1
Navio 1
Entrada
Divisão
Map
Map-Reduce Conceito Map-Reduce
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Carro Moto Ônibus
Ônibus Barco Navio
Barco Carro Barco
Carro Moto Ônibus
Ônibus Barco Navio
Ônibus Barco Navio
Carro 1
Moto 1
Ônibus 1
Ônibus 1
Barco 1
Navio 1
Ônibus 1
Barco 1
Navio 1
Carro 1
Ônibus 1
Ônibus 1
Ônibus 1
Barco 1
Barco 1
Moto 1
Navio 1
Navio 1
Entrada
Divisão
Map
Rearranja*
Ordena*
Map-Reduce Conceito Map-Reduce
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Carro Moto Ônibus
Ônibus Barco Navio
Barco Carro Barco
Carro Moto Ônibus
Ônibus Barco Navio
Ônibus Barco Navio
Carro 1
Moto 1
Ônibus 1
Ônibus 1
Barco 1
Navio 1
Ônibus 1
Barco 1
Navio 1
Carro 1
Ônibus 1
Ônibus 1
Ônibus 1
Barco 1
Barco 1
Moto 1
Navio 1
Navio 1
Entrada
Divisão
Map
Rearranja*
Ordena*
Carro 1
Ônibus 3
Barco 2
Moto 1
Navio 2
Reduce
Map-Reduce Conceito Map-Reduce
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Carro Moto Ônibus
Ônibus Barco Navio
Barco Carro Barco
Carro Moto Ônibus
Ônibus Barco Navio
Ônibus Barco Navio
Carro 1
Moto 1
Ônibus 1
Ônibus 1
Barco 1
Navio 1
Ônibus 1
Barco 1
Navio 1
Carro 1
Ônibus 1
Ônibus 1
Ônibus 1
Barco 1
Barco 1
Moto 1
Navio 1
Navio 1
Entrada
Divisão
Map
Rearranja*
Ordena*
Carro 1
Ônibus 3
Barco 2
Moto 1
Navio 2
Reduce
Barco 2
Carro 1
Moto 1
Navio 2
Ônibus 3
Resultado
Final
Map-Reduce Conceito Map-Reduce
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Carro Moto Ônibus
Ônibus Barco Navio
Barco Carro Barco
Carro Moto Ônibus
Ônibus Barco Navio
Ônibus Barco Navio
Carro 1
Moto 1
Ônibus 1
Ônibus 1
Barco 1
Navio 1
Ônibus 1
Barco 1
Navio 1
Carro 1
Ônibus 1
Ônibus 1
Ônibus 1
Barco 1
Barco 1
Moto 1
Navio 1
Navio 1
Entrada
Divisão
Map
Rearranja*
Ordena*
Carro 1
Ônibus 3
Barco 2
Moto 1
Navio 2
Reduce
Barco 2
Carro 1
Moto 1
Navio 2
Ônibus 3
Resultado
Final
Map-Reduce Conceito Map-Reduce
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Resource
Manager
Node
Manager
Name
Node
Data
Node
Data
node
Map
Reduce
Camadas:
HDFS
master slave
1..N
1..N
Node
Manager
YARN Engine : Processa grande
número de dados em paralelo
com clusters de forma confiável e
tolerante a falhas.
HDFS : Armazena e gerencia os
arquivos em nodes do cluster Hadoop
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Resource
Manager
Node
Manager
master slave
1..N
Node
Manager
Resource Manager
• Aceita tarefas de Map-Reduce ou YARN Apps
• Atribui tarefas ao Node Manager
• Monitora o estado do NM
• Gerencia concorrência entre aplicações
Node Manager
• Executa tarefas de Aplicação
• Envia seu status para o Resource Manager
• Recupera recursos do HDFS
Camada: Map Reduce
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Containers
• Criado pelo Resource Manger
• Aloca recursos
• Aplicação pode rodar em um ou mais containers
Application Master
• Um por aplicação
• Roda em um Container
• Requisita mais containers para rodar as tarefas
Node Manager
Application Master
Container
Camada: YARN
YARN
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 4
Requisita o Recurso
Resource
Manager
Node Manager 3
Node Manager 2
Node Manager 1
Cliente
Aplicação:
MinhaApp
YARN
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 4
Resource
Manager
Node Manager 3
Node Manager 2
Node Manager 1
Cliente
Aplicação:
MinhaApp
Application Master
Instancia
YARN
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 4
Requisita o Recurso
Resource
Manager
Node Manager 3
Node Manager 2
Node Manager 1
Cliente
Aplicação:
MinhaApp
Application Master
Solicita Recursos
• Nome (do Recurso, ou Rack)
• Número de Containers
• Recursos necessários
YARN
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 4
Resource
Manager
Node Manager 3
Node Manager 2
Node Manager 1
Cliente
Aplicação:
MinhaApp
Application Master
Cria Containers necessários
YARN
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 4
Resource
Manager
Node Manager 3
Node Manager 2
Node Manager 1
Cliente
Aplicação:
MinhaApp
Application Master
Retorna os ID dos Containers
Container
• ID
• Node
YARN
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 4
Resource
Manager
Node Manager 3
Node Manager 2
Node Manager 1
Cliente
Aplicação:
MinhaApp
Application Master
MinhaApp
MinhaApp
Executa
Executa
YARN
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 4
Requisita o Recurso
Resource
Manager
Node Manager 3
Node Manager 2
Node Manager 1
Cliente
Aplicação:
MinhaApp
Application Master
MinhaApp
MinhaApp
Cliente
Aplicação:
OutraApp
YARN
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 4
Requisita o Recurso
Resource
Manager
Node Manager 3
Node Manager 2
Node Manager 1
Cliente
Aplicação:
MinhaApp
Application Master
MinhaApp
MinhaApp
Cliente
Application Master
OutraApp
Aplicação:
OutraApp
OutraApp
YARN
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 4
Requisita o Recurso
Resource
Manager
Node Manager 3
Node Manager 2
Node Manager 1
Cliente
Aplicação:
MinhaApp
Application Master
MinhaApp
MinhaApp
Cliente
Application Master
OutraApp
OutraApp
Retorna os Resultados
Aplicação:
OutraApp
YARN
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 4
Requisita o Recurso
Resource
Manager
Node Manager 3
Node Manager 2
Node Manager 1
Cliente
Aplicação:
MinhaApp
Application Master
MinhaApp
MinhaApp
Cliente
Application Master
OutraApp
OutraApp
Aplicação:
OutraApp
Encerra os Containers e
App Masters
Finaliza as
aplicações
YARN
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 4
Requisita o Recurso
Resource
Manager
Node Manager 3
Node Manager 2
Node Manager 1
Fica Disponível
YARN
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Name Node
• Mapeia os blocos nos Data Nodes
• Controla Leitura/Escrita dos dados
• Gerencia a replicação de Blocos
Data Node
• Responsável pelo atendimento de
solicitações de leitura e gravação (criação do
bloco, exclusão e replicação)
Name
Node
Data
Node
Data
node
master slave
1..N
Camada: HDFS
HDFS
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Data Node 4
Requisita o Recurso
Name
Node
Data Node 3
Data Node 2
Data Node 1
• Projetado para suportar arquivos muito grandes > TB.
HDFS
HDFS
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Data Node 4Name
Node
Data Node 3
Data Node 2
Data Node 1
HDFS
Ex: TIFF 500MB
• Melhor aplicado em situações write once read many.
• Otimizado para Streaming reads.
HDFS
Arquitetura do framework
Apache Hadoop
Arquitetura do Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Data Node 4
Requisita o Recurso
Name
Node
Data Node 3
Data Node 2
Data Node 1
Ex: TIFF 500MB
128 MB
128 MB
128 MB
116 MB
• Tamanho default de um bloco: 64 MB ou 128 MB. (FS 4KB a 8KB)
HDFS
Bloco1
Bloco2
Bloco3
Bloco4
HDFS
Arquitetura do framework
Apache Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Data Node 4Name
Node
Data Node 3
Data Node 2
Data Node 1
Ex: TIFF 500MB
Referência do Dado
HDFS
• Cada bloco irá residir se possível em um DataNode diferente.
Bloco1
Bloco2
Bloco3
Bloco4
HDFS Arquitetura do Hadoop
Arquitetura do framework
Apache Hadoop
Blocos: 1, 4, 3,
2, 6
Blocos: 1, 2, 5, 7,
4, 3
Blocos: 1, 5, 3,
2, 8, 6
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Nome do Arquivo Fator de Replicação Block ID
Arquivo A 3 [1, 2, 3]
Arquivo B 2 [4, 5, 6]
Arquivo C 1 [7,8]
Name Node
Data Nodes
HDFS
Arquitetura do framework
Apache Hadoop
Blocos:
Replicação do HDFS
Blocos: 1, 4, 3,
2, 6
Blocos: 1, 2, 5, 7,
4, 3
Blocos: 1, 5, 3,
2, 8, 6
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Nome do Arquivo Fator de Replicação Block ID
Arquivo A 3 [1, 2, 3]
Arquivo B 2 [4, 5, 6]
Arquivo C 1 [7,8]
Name Node
Data Nodes
HDFS
Arquitetura do framework
Apache Hadoop
Blocos:
Replicação do HDFS
Blocos: 1, 4, 3,
2, 6
Blocos: 1, 2, 5, 7,
4, 3
Blocos: 1, 5, 3,
2, 8, 6
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Nome do Arquivo Fator de Replicação Block ID
Arquivo A 3 [1, 2, 3]
Arquivo B 2 [4, 5, 6]
Arquivo C 1 [7,8]
Name Node
Data Nodes
HDFS
Arquitetura do framework
Apache Hadoop
Blocos:
Replicação do HDFS
Replicação do HDFS
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Nome do Arquivo Fator de Replicação Block ID
Arquivo A 3 [1, 2, 3]
Arquivo B 2 [4, 5, 6]
Arquivo C 1 [7,8]
Name Node
Data Nodes
Blocos: 1, 4, 3,
2, 6
Blocos: 1, 2, 5, 7,
4, 3
Blocos: 1, 5, 3,
2, 8, 6
HDFS
Arquitetura do framework
Apache Hadoop
Blocos:
Replicação do HDFS
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Nome do Arquivo Fator de Replicação Block ID
Arquivo A 3 [1, 2, 3]
Arquivo B 2 [4, 5, 6]
Arquivo C 1 [7,8]
Name Node
Data Nodes
Blocos: 1, 4, 3,
2, 6
Blocos: 1, 2, 5, 7,
4, 3
Blocos: 1, 5, 3,
2, 8, 6
HDFS
Arquitetura do framework
Apache Hadoop
Blocos:
Replicação do HDFS
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Nome do Arquivo Fator de Replicação Block ID
Arquivo A 3 [1, 2, 3]
Arquivo B 2 [4, 5, 6]
Arquivo C 1 [7,8]
Name Node
Data Nodes
Blocos: 1, 4, 3,
2, 6
Blocos: 1, 2, 5, 7,
4, 3
HDFS
Arquitetura do framework
Apache Hadoop
Blocos:
Replicação do HDFS
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Nome do Arquivo Fator de Replicação Block ID
Arquivo A 3 [1, 2, 3]
Arquivo B 2 [4, 5, 6]
Arquivo C 1 [7,8]
Name Node
Data Nodes
Blocos: 1, 4, 3,
2, 6
Blocos: 1, 2, 5, 7,
4, 3
Blocos: 1, 5, 3,
2, 6
HDFS
Arquitetura do framework
Apache Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 3 Data Node 3
Node Manager 2 Data Node 2
Node Manager 1 Data Node 1
Node Manager 4 Data Node 4
Resource
Manager
Node Manager 5 Data Node 5
Node Manager 6 Data Node 6
Node Manager 7 Data Node 7
HDFS
Name
Node
Processamento
Arquitetura do framework
Apache Hadoop
Ex: PDF
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 3 Data Node 3
Bloco1
Bloco2
Node Manager 2 Data Node 2
Node Manager 1 Data Node 1
Node Manager 4 Data Node 4
Resource
Manager
HDFS
Node Manager 5 Data Node 5
Node Manager 6 Data Node 6
Node Manager 7 Data Node 7
Bloco3
Name
Node
Divide o dado
em blocos
Processamento
Arquitetura do framework
Apache Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 3 Data Node 3
Node Manager 2 Data Node 2
Node Manager 1 Data Node 1
Node Manager 4 Data Node 4
Resource
Manager
Node Manager 5 Data Node 5
Node Manager 6 Data Node 6
Node Manager 7 Data Node 7
HDFS
Name
Node
Guarda a
referência
dos Blocos
Bloco1
Bloco2
Bloco3
Processamento
Arquitetura do framework
Apache Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 3 Data Node 3
Bloco1
Bloco2
Name
Node
Node Manager 2 Data Node 2
Node Manager 1 Data Node 1
Node Manager 4 Data Node 4
Resource
Manager
HDFS
Node Manager 5 Data Node 5
Node Manager 6 Data Node 6
Node Manager 7 Data Node 7
Bloco3
Cliente
App Master
Aplicação:
ContaPalavras
Instancia App
Master
Processamento
Arquitetura do framework
Apache Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 3 Data Node 3
Bloco1
Bloco2
Node Manager 2 Data Node 2
Node Manager 1 Data Node 1
Node Manager 4 Data Node 4
Resource
Manager
HDFS
Node Manager 5 Data Node 5
Node Manager 6 Data Node 6
Node Manager 7 Data Node 7
Bloco3
Cliente
App Master
Aplicação:
ContaPalavras
Name
Node
Instancia
Containers
Processamento
Arquitetura do framework
Apache Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 3 Data Node 3
Bloco1
Bloco2
Node Manager 2 Data Node 2
Node Manager 1 Data Node 1
Node Manager 4 Data Node 4
Resource
Manager
HDFS
Node Manager 5 Data Node 5
Node Manager 6 Data Node 6
Node Manager 7 Data Node 7
Bloco3
Cliente
App Master
Aplicação:
ContaPalavras
ContaPal. Map
ContaPal. Map
ContaPal. Map
Name
Node
Executa Fase Map
Processamento
Arquitetura do framework
Apache Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 3 Data Node 3
Bloco1
Bloco2
Node Manager 2 Data Node 2
Node Manager 1 Data Node 1
Node Manager 4 Data Node 4
Resource
Manager
HDFS
Node Manager 5 Data Node 5
Node Manager 6 Data Node 6
Node Manager 7 Data Node 7
Bloco3
Cliente
App Master
Aplicação:
ContaPalavras
ContaPal. Map
ContaPal. Map
ContaPal. Map
Name
Node
Requisita 3
Containers
Processamento
Arquitetura do framework
Apache Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 3 Data Node 3
Bloco1
Bloco2
Node Manager 2 Data Node 2
Node Manager 1 Data Node 1
Node Manager 4 Data Node 4
Resource
Manager
HDFS
Node Manager 5 Data Node 5
Node Manager 6 Data Node 6
Node Manager 7 Data Node 7
Bloco3
Cliente
App Master
Aplicação:
ContaPalavras
Name
Node
Instancia
Containers
Processamento
Arquitetura do framework
Apache Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 3 Data Node 3
Bloco1
Bloco2
Node Manager 2 Data Node 2
Node Manager 1 Data Node 1
Node Manager 4 Data Node 4
Resource
Manager
HDFS
Node Manager 5 Data Node 5
Node Manager 6 Data Node 6
Node Manager 7 Data Node 7
Bloco3
Cliente
Aplicação:
ContaPalavras
App Master
ContaPal.Reducer
ContaPal.Reducer
Name
Node
Executa Fase Reduce
ContaPal.Reducer
Processamento
Arquitetura do framework
Apache Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 3 Data Node 3
Bloco1
Bloco2
Node Manager 2 Data Node 2
Node Manager 1 Data Node 1
Node Manager 4 Data Node 4
Resource
Manager
HDFS
Node Manager 5 Data Node 5
Node Manager 6 Data Node 6
Node Manager 7 Data Node 7
Bloco3
Cliente
Aplicação:
ContaPalavras
App Master
ContaPal.Reducer
ContaPal.Reducer
Name
Node
Retorna Resultado
Processamento
Arquitetura do framework
Apache Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Node Manager 3 Data Node 3
Bloco1
Bloco2
Node Manager 2 Data Node 2
Node Manager 1 Data Node 1
Node Manager 4 Data Node 4
Resource
Manager
HDFS
Node Manager 5 Data Node 5
Node Manager 6 Data Node 6
Node Manager 7 Data Node 7
Bloco3
Cliente
Name
Node
Exibe Resultado
Aplicação:
ContaPalavras
Processamento
Arquitetura do framework
Apache Hadoop
Áreas de aplicação
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Financeiro Duminuição de risco de financimento
Governo Diminuição de custos e melhor distribuição de efetivo e orçamento
Saúde Análise de dados de sensores, monitoramento, genoma
Indústria Sensores de monitoramento para manutenção de peças
Óleo & Gas Análise de dados de sensores na Exploração
eComerce Recomendação de produtos e venda online
Comunicação Propaganda baseada na localização
Empresas que adotam o Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Empresas que adotam o Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Empresas que adotam o Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Empresas que adotam o Hadoop
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Exemplo de Aplicação: Saúde
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
O pesquisador Michael Schatz e
sua equipe da Universidade de
Maryland construíram o
Crossbow usando o Hadoop em
cloud que proporciona o custo
de analisar um genoma humano
abaixo de US $ 85 em 3 horas
(40 nodes com 320-cores).
http://bowtie-
bio.sourceforge.net/crossbow/inde
x.shtml
Custo do Genoma
Lei de Gordon E. Moore
História
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Out 2003 : Google publicou o primeiro paper GFS (Google File System)
Jul 2005 : Nutch NDFS (projeto open source de Web Search Engine baseado em Lucene)
começa a usar MapReduce
Fev 2006 : Torna-se um subprojeto Lucene, e é renomeado Hadoop
Abr 2007 : Yahoo! Cria um cluster de mais de 1000-nodes
Jan 2008 : A Apache torna o Hadoop um projeto Top Level
Abr 2009 : Ganhou o “Minute Sort” processando 500 GB em 59 segundos
(com 1406 nodes)
Out 2013 : Ganhou o “Gray Sort” (100 TBs / minutos) processando 102 TB em 4 segundos
(com 2100 nodes)
Fontes: http://sortbenchmark.org/
http://static.googleusercontent.com/media/research.google.com/pt-BR//archive/gfs-sosp2003.pdf
http://www.ordinal.com/gensort.html
Exemplo de Aplicação: Logística
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
US Xpress uma das maiores
companhias de caminhão nos EUA
está usando o Hadoop para
armazenar dados de sensores de
seus caminhões. Com resultado das
análises eles economizam
6 milhões de dólares/ano em
custos de combustível.
http://www.computerweekly.com/new
s/2240146943/Case-Study-US-Xpress-
deploys-hybrid-big-data-with-
Informatica
Exemplo de Aplicação: Telecom
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Nokia -Nokia recolhe e analisa grandes
quantidades de dados de telefones
móveis
Problema:
(1) Lidar com 100TB de dados
estruturados e 500TB de dados + semi-
estruturado
(2) Média de novos dados : 1TB / dia
Solução: HDFS que oferece o
processamento de dados em escala de
peta bytes.
http://strataconf.com/stratany2012/public/s
chedule/detail/26880
Visitem
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop
Sort Benchmark Home Page
http://sortbenchmark.org/
Paper do Google
http://static.googleusercontent.com/media/research.google.com/pt-BR//archive/gfs-sosp2003.pdf
Aplicação baseada em Hadoop para análise do Genoma
http://bowtie-bio.sourceforge.net/crossbow/index.shtml
Obrigado!!!
TÍTULO DO SEU SEMINÁRIO
Subtítulo
Arquitetura do framework
Apache Hadoop

Arquitetura do Framework Apache Hadoop 2.6

  • 1.
    Arquitetura do Framework ApacheHadoop Universidade Estadual do Rio de Janeiro - UERJ Instituto de Matemática e Estatística- IME FELIPE SCHIMITH BATISTA Aluno de Mestrado
  • 2.
    Framework TÍTULO DO SEUSEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop Existem várias definições de framework. Segundo Darren Govoni Livro: Java application frameworks (1999) “Um framework é uma coleção abstrata de classes, interfaces e padrões dedicado a resolver um conjunto de problemas através de uma arquitetura flexível e extensível”
  • 3.
    Agenda TÍTULO DO SEUSEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop I. História II. Introdução III. Ecossistema Hadoop IV. Conceito Map-Reduce V. Arquitetura Hadoop VI. Processamento VII. Áreas de Aplicação VIII. Exemplo de Aplicação
  • 4.
    História TÍTULO DO SEUSEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop Out 2003 : Google publicou o primeiro paper GFS (Google File System) Jul 2005 : Nutch NDFS (projeto open source de Web Search Engine baseado em Lucene) começa a usar MapReduce Fev 2006 : Torna-se um subprojeto Lucene, e é renomeado Hadoop Abr 2007 : Yahoo! Cria um cluster de mais de 1000-nodes Jan 2008 : A Apache torna o Hadoop um projeto Top Level Abr 2009 : Ganhou o “Minute Sort” processando 500 GB em 59 segundos (com 1406 nodes) Out 2013 : Ganhou o “Gray Sort” (100 TBs / minutos) processando 102 TB em 4 segundos (com 2100 nodes) Fontes: http://sortbenchmark.org/ http://static.googleusercontent.com/media/research.google.com/pt-BR//archive/gfs-sosp2003.pdf http://www.ordinal.com/gensort.html
  • 5.
    Introdução Com o avançotecnológico, as formas de computação que visam a melhoria no desempenho dos algoritmos vêm sendo aprimoradas, um dos objetivos é a melhor utilização dos recursos de hardware cada vez mais acessíveis, obtendo ganho de tempo de processamento. TÍTULO DO SEU SEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop
  • 6.
    Introdução Algumas dessas soluçõessão baseadas em arquiteturas com memória compartilhada ou arquiteturas com computação distribuída. Isso possibilita novos métodos de paralelismo e clusterização, o que viabiliza a análise de uma quantidade de dados cada vez maior em menos tempo. TÍTULO DO SEU SEMINÁRIO Subtítulo Memória CPU Tradicional Execução Memória CPU Memória centralizada (SMP) CPUCPU Memória CPU Computação Distribuída (Cluster) CPUCPU Memória Memória FS FS FS Arquitetura do framework Apache Hadoop SMP- Symmetric MultiProcessors
  • 7.
    Ecossistema Hadoop O Hadoopé um projeto open-source da Apache utilizado para computação distribuída. TÍTULO DO SEU SEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop Fonte: http://hortonworks.com
  • 8.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop • Princípio da Divisão e Conquista • Alto desempenho • Processamento em paralelo Map-Reduce • Gerenciador de Recursos do Cluster • Negociador de Recusos • Organizador de Tarefas YARN • Armazenamento distribuído • Storage system tolerante a falhas • Altamente escalável Hadoop Distributed File System (HDFS) Ecossistema Hadoop
  • 9.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop Carro Moto Ônibus Ônibus Barco Navio Barco Carro Barco Carro Moto Ônibus Ônibus Barco Navio Ônibus Barco Navio Entrada Divisão Map-Reduce Conceito Map-Reduce
  • 10.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop Carro Moto Ônibus Ônibus Barco Navio Barco Carro Barco Carro Moto Ônibus Ônibus Barco Navio Ônibus Barco Navio Carro 1 Moto 1 Ônibus 1 Ônibus 1 Barco 1 Navio 1 Ônibus 1 Barco 1 Navio 1 Entrada Divisão Map Map-Reduce Conceito Map-Reduce
  • 11.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop Carro Moto Ônibus Ônibus Barco Navio Barco Carro Barco Carro Moto Ônibus Ônibus Barco Navio Ônibus Barco Navio Carro 1 Moto 1 Ônibus 1 Ônibus 1 Barco 1 Navio 1 Ônibus 1 Barco 1 Navio 1 Carro 1 Ônibus 1 Ônibus 1 Ônibus 1 Barco 1 Barco 1 Moto 1 Navio 1 Navio 1 Entrada Divisão Map Rearranja* Ordena* Map-Reduce Conceito Map-Reduce
  • 12.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop Carro Moto Ônibus Ônibus Barco Navio Barco Carro Barco Carro Moto Ônibus Ônibus Barco Navio Ônibus Barco Navio Carro 1 Moto 1 Ônibus 1 Ônibus 1 Barco 1 Navio 1 Ônibus 1 Barco 1 Navio 1 Carro 1 Ônibus 1 Ônibus 1 Ônibus 1 Barco 1 Barco 1 Moto 1 Navio 1 Navio 1 Entrada Divisão Map Rearranja* Ordena* Carro 1 Ônibus 3 Barco 2 Moto 1 Navio 2 Reduce Map-Reduce Conceito Map-Reduce
  • 13.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop Carro Moto Ônibus Ônibus Barco Navio Barco Carro Barco Carro Moto Ônibus Ônibus Barco Navio Ônibus Barco Navio Carro 1 Moto 1 Ônibus 1 Ônibus 1 Barco 1 Navio 1 Ônibus 1 Barco 1 Navio 1 Carro 1 Ônibus 1 Ônibus 1 Ônibus 1 Barco 1 Barco 1 Moto 1 Navio 1 Navio 1 Entrada Divisão Map Rearranja* Ordena* Carro 1 Ônibus 3 Barco 2 Moto 1 Navio 2 Reduce Barco 2 Carro 1 Moto 1 Navio 2 Ônibus 3 Resultado Final Map-Reduce Conceito Map-Reduce
  • 14.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop Carro Moto Ônibus Ônibus Barco Navio Barco Carro Barco Carro Moto Ônibus Ônibus Barco Navio Ônibus Barco Navio Carro 1 Moto 1 Ônibus 1 Ônibus 1 Barco 1 Navio 1 Ônibus 1 Barco 1 Navio 1 Carro 1 Ônibus 1 Ônibus 1 Ônibus 1 Barco 1 Barco 1 Moto 1 Navio 1 Navio 1 Entrada Divisão Map Rearranja* Ordena* Carro 1 Ônibus 3 Barco 2 Moto 1 Navio 2 Reduce Barco 2 Carro 1 Moto 1 Navio 2 Ônibus 3 Resultado Final Map-Reduce Conceito Map-Reduce
  • 15.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Resource Manager Node Manager Name Node Data Node Data node Map Reduce Camadas: HDFS master slave 1..N 1..N Node Manager YARN Engine : Processa grande número de dados em paralelo com clusters de forma confiável e tolerante a falhas. HDFS : Armazena e gerencia os arquivos em nodes do cluster Hadoop Arquitetura do framework Apache Hadoop
  • 16.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Resource Manager Node Manager master slave 1..N Node Manager Resource Manager • Aceita tarefas de Map-Reduce ou YARN Apps • Atribui tarefas ao Node Manager • Monitora o estado do NM • Gerencia concorrência entre aplicações Node Manager • Executa tarefas de Aplicação • Envia seu status para o Resource Manager • Recupera recursos do HDFS Camada: Map Reduce Arquitetura do framework Apache Hadoop
  • 17.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Containers • Criado pelo Resource Manger • Aloca recursos • Aplicação pode rodar em um ou mais containers Application Master • Um por aplicação • Roda em um Container • Requisita mais containers para rodar as tarefas Node Manager Application Master Container Camada: YARN YARN Arquitetura do framework Apache Hadoop
  • 18.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Node Manager 4 Requisita o Recurso Resource Manager Node Manager 3 Node Manager 2 Node Manager 1 Cliente Aplicação: MinhaApp YARN Arquitetura do framework Apache Hadoop
  • 19.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Node Manager 4 Resource Manager Node Manager 3 Node Manager 2 Node Manager 1 Cliente Aplicação: MinhaApp Application Master Instancia YARN Arquitetura do framework Apache Hadoop
  • 20.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Node Manager 4 Requisita o Recurso Resource Manager Node Manager 3 Node Manager 2 Node Manager 1 Cliente Aplicação: MinhaApp Application Master Solicita Recursos • Nome (do Recurso, ou Rack) • Número de Containers • Recursos necessários YARN Arquitetura do framework Apache Hadoop
  • 21.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Node Manager 4 Resource Manager Node Manager 3 Node Manager 2 Node Manager 1 Cliente Aplicação: MinhaApp Application Master Cria Containers necessários YARN Arquitetura do framework Apache Hadoop
  • 22.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Node Manager 4 Resource Manager Node Manager 3 Node Manager 2 Node Manager 1 Cliente Aplicação: MinhaApp Application Master Retorna os ID dos Containers Container • ID • Node YARN Arquitetura do framework Apache Hadoop
  • 23.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Node Manager 4 Resource Manager Node Manager 3 Node Manager 2 Node Manager 1 Cliente Aplicação: MinhaApp Application Master MinhaApp MinhaApp Executa Executa YARN Arquitetura do framework Apache Hadoop
  • 24.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Node Manager 4 Requisita o Recurso Resource Manager Node Manager 3 Node Manager 2 Node Manager 1 Cliente Aplicação: MinhaApp Application Master MinhaApp MinhaApp Cliente Aplicação: OutraApp YARN Arquitetura do framework Apache Hadoop
  • 25.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Node Manager 4 Requisita o Recurso Resource Manager Node Manager 3 Node Manager 2 Node Manager 1 Cliente Aplicação: MinhaApp Application Master MinhaApp MinhaApp Cliente Application Master OutraApp Aplicação: OutraApp OutraApp YARN Arquitetura do framework Apache Hadoop
  • 26.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Node Manager 4 Requisita o Recurso Resource Manager Node Manager 3 Node Manager 2 Node Manager 1 Cliente Aplicação: MinhaApp Application Master MinhaApp MinhaApp Cliente Application Master OutraApp OutraApp Retorna os Resultados Aplicação: OutraApp YARN Arquitetura do framework Apache Hadoop
  • 27.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Node Manager 4 Requisita o Recurso Resource Manager Node Manager 3 Node Manager 2 Node Manager 1 Cliente Aplicação: MinhaApp Application Master MinhaApp MinhaApp Cliente Application Master OutraApp OutraApp Aplicação: OutraApp Encerra os Containers e App Masters Finaliza as aplicações YARN Arquitetura do framework Apache Hadoop
  • 28.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Node Manager 4 Requisita o Recurso Resource Manager Node Manager 3 Node Manager 2 Node Manager 1 Fica Disponível YARN Arquitetura do framework Apache Hadoop
  • 29.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Name Node • Mapeia os blocos nos Data Nodes • Controla Leitura/Escrita dos dados • Gerencia a replicação de Blocos Data Node • Responsável pelo atendimento de solicitações de leitura e gravação (criação do bloco, exclusão e replicação) Name Node Data Node Data node master slave 1..N Camada: HDFS HDFS Arquitetura do framework Apache Hadoop
  • 30.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Data Node 4 Requisita o Recurso Name Node Data Node 3 Data Node 2 Data Node 1 • Projetado para suportar arquivos muito grandes > TB. HDFS HDFS Arquitetura do framework Apache Hadoop
  • 31.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Data Node 4Name Node Data Node 3 Data Node 2 Data Node 1 HDFS Ex: TIFF 500MB • Melhor aplicado em situações write once read many. • Otimizado para Streaming reads. HDFS Arquitetura do framework Apache Hadoop
  • 32.
    Arquitetura do Hadoop TÍTULODO SEU SEMINÁRIO Subtítulo Data Node 4 Requisita o Recurso Name Node Data Node 3 Data Node 2 Data Node 1 Ex: TIFF 500MB 128 MB 128 MB 128 MB 116 MB • Tamanho default de um bloco: 64 MB ou 128 MB. (FS 4KB a 8KB) HDFS Bloco1 Bloco2 Bloco3 Bloco4 HDFS Arquitetura do framework Apache Hadoop
  • 33.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Data Node 4Name Node Data Node 3 Data Node 2 Data Node 1 Ex: TIFF 500MB Referência do Dado HDFS • Cada bloco irá residir se possível em um DataNode diferente. Bloco1 Bloco2 Bloco3 Bloco4 HDFS Arquitetura do Hadoop Arquitetura do framework Apache Hadoop
  • 34.
    Blocos: 1, 4,3, 2, 6 Blocos: 1, 2, 5, 7, 4, 3 Blocos: 1, 5, 3, 2, 8, 6 TÍTULO DO SEU SEMINÁRIO Subtítulo Nome do Arquivo Fator de Replicação Block ID Arquivo A 3 [1, 2, 3] Arquivo B 2 [4, 5, 6] Arquivo C 1 [7,8] Name Node Data Nodes HDFS Arquitetura do framework Apache Hadoop Blocos: Replicação do HDFS
  • 35.
    Blocos: 1, 4,3, 2, 6 Blocos: 1, 2, 5, 7, 4, 3 Blocos: 1, 5, 3, 2, 8, 6 TÍTULO DO SEU SEMINÁRIO Subtítulo Nome do Arquivo Fator de Replicação Block ID Arquivo A 3 [1, 2, 3] Arquivo B 2 [4, 5, 6] Arquivo C 1 [7,8] Name Node Data Nodes HDFS Arquitetura do framework Apache Hadoop Blocos: Replicação do HDFS
  • 36.
    Blocos: 1, 4,3, 2, 6 Blocos: 1, 2, 5, 7, 4, 3 Blocos: 1, 5, 3, 2, 8, 6 TÍTULO DO SEU SEMINÁRIO Subtítulo Nome do Arquivo Fator de Replicação Block ID Arquivo A 3 [1, 2, 3] Arquivo B 2 [4, 5, 6] Arquivo C 1 [7,8] Name Node Data Nodes HDFS Arquitetura do framework Apache Hadoop Blocos: Replicação do HDFS
  • 37.
    Replicação do HDFS TÍTULODO SEU SEMINÁRIO Subtítulo Nome do Arquivo Fator de Replicação Block ID Arquivo A 3 [1, 2, 3] Arquivo B 2 [4, 5, 6] Arquivo C 1 [7,8] Name Node Data Nodes Blocos: 1, 4, 3, 2, 6 Blocos: 1, 2, 5, 7, 4, 3 Blocos: 1, 5, 3, 2, 8, 6 HDFS Arquitetura do framework Apache Hadoop Blocos:
  • 38.
    Replicação do HDFS TÍTULODO SEU SEMINÁRIO Subtítulo Nome do Arquivo Fator de Replicação Block ID Arquivo A 3 [1, 2, 3] Arquivo B 2 [4, 5, 6] Arquivo C 1 [7,8] Name Node Data Nodes Blocos: 1, 4, 3, 2, 6 Blocos: 1, 2, 5, 7, 4, 3 Blocos: 1, 5, 3, 2, 8, 6 HDFS Arquitetura do framework Apache Hadoop Blocos:
  • 39.
    Replicação do HDFS TÍTULODO SEU SEMINÁRIO Subtítulo Nome do Arquivo Fator de Replicação Block ID Arquivo A 3 [1, 2, 3] Arquivo B 2 [4, 5, 6] Arquivo C 1 [7,8] Name Node Data Nodes Blocos: 1, 4, 3, 2, 6 Blocos: 1, 2, 5, 7, 4, 3 HDFS Arquitetura do framework Apache Hadoop Blocos:
  • 40.
    Replicação do HDFS TÍTULODO SEU SEMINÁRIO Subtítulo Nome do Arquivo Fator de Replicação Block ID Arquivo A 3 [1, 2, 3] Arquivo B 2 [4, 5, 6] Arquivo C 1 [7,8] Name Node Data Nodes Blocos: 1, 4, 3, 2, 6 Blocos: 1, 2, 5, 7, 4, 3 Blocos: 1, 5, 3, 2, 6 HDFS Arquitetura do framework Apache Hadoop
  • 41.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Node Manager 3 Data Node 3 Node Manager 2 Data Node 2 Node Manager 1 Data Node 1 Node Manager 4 Data Node 4 Resource Manager Node Manager 5 Data Node 5 Node Manager 6 Data Node 6 Node Manager 7 Data Node 7 HDFS Name Node Processamento Arquitetura do framework Apache Hadoop Ex: PDF
  • 42.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Node Manager 3 Data Node 3 Bloco1 Bloco2 Node Manager 2 Data Node 2 Node Manager 1 Data Node 1 Node Manager 4 Data Node 4 Resource Manager HDFS Node Manager 5 Data Node 5 Node Manager 6 Data Node 6 Node Manager 7 Data Node 7 Bloco3 Name Node Divide o dado em blocos Processamento Arquitetura do framework Apache Hadoop
  • 43.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Node Manager 3 Data Node 3 Node Manager 2 Data Node 2 Node Manager 1 Data Node 1 Node Manager 4 Data Node 4 Resource Manager Node Manager 5 Data Node 5 Node Manager 6 Data Node 6 Node Manager 7 Data Node 7 HDFS Name Node Guarda a referência dos Blocos Bloco1 Bloco2 Bloco3 Processamento Arquitetura do framework Apache Hadoop
  • 44.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Node Manager 3 Data Node 3 Bloco1 Bloco2 Name Node Node Manager 2 Data Node 2 Node Manager 1 Data Node 1 Node Manager 4 Data Node 4 Resource Manager HDFS Node Manager 5 Data Node 5 Node Manager 6 Data Node 6 Node Manager 7 Data Node 7 Bloco3 Cliente App Master Aplicação: ContaPalavras Instancia App Master Processamento Arquitetura do framework Apache Hadoop
  • 45.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Node Manager 3 Data Node 3 Bloco1 Bloco2 Node Manager 2 Data Node 2 Node Manager 1 Data Node 1 Node Manager 4 Data Node 4 Resource Manager HDFS Node Manager 5 Data Node 5 Node Manager 6 Data Node 6 Node Manager 7 Data Node 7 Bloco3 Cliente App Master Aplicação: ContaPalavras Name Node Instancia Containers Processamento Arquitetura do framework Apache Hadoop
  • 46.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Node Manager 3 Data Node 3 Bloco1 Bloco2 Node Manager 2 Data Node 2 Node Manager 1 Data Node 1 Node Manager 4 Data Node 4 Resource Manager HDFS Node Manager 5 Data Node 5 Node Manager 6 Data Node 6 Node Manager 7 Data Node 7 Bloco3 Cliente App Master Aplicação: ContaPalavras ContaPal. Map ContaPal. Map ContaPal. Map Name Node Executa Fase Map Processamento Arquitetura do framework Apache Hadoop
  • 47.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Node Manager 3 Data Node 3 Bloco1 Bloco2 Node Manager 2 Data Node 2 Node Manager 1 Data Node 1 Node Manager 4 Data Node 4 Resource Manager HDFS Node Manager 5 Data Node 5 Node Manager 6 Data Node 6 Node Manager 7 Data Node 7 Bloco3 Cliente App Master Aplicação: ContaPalavras ContaPal. Map ContaPal. Map ContaPal. Map Name Node Requisita 3 Containers Processamento Arquitetura do framework Apache Hadoop
  • 48.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Node Manager 3 Data Node 3 Bloco1 Bloco2 Node Manager 2 Data Node 2 Node Manager 1 Data Node 1 Node Manager 4 Data Node 4 Resource Manager HDFS Node Manager 5 Data Node 5 Node Manager 6 Data Node 6 Node Manager 7 Data Node 7 Bloco3 Cliente App Master Aplicação: ContaPalavras Name Node Instancia Containers Processamento Arquitetura do framework Apache Hadoop
  • 49.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Node Manager 3 Data Node 3 Bloco1 Bloco2 Node Manager 2 Data Node 2 Node Manager 1 Data Node 1 Node Manager 4 Data Node 4 Resource Manager HDFS Node Manager 5 Data Node 5 Node Manager 6 Data Node 6 Node Manager 7 Data Node 7 Bloco3 Cliente Aplicação: ContaPalavras App Master ContaPal.Reducer ContaPal.Reducer Name Node Executa Fase Reduce ContaPal.Reducer Processamento Arquitetura do framework Apache Hadoop
  • 50.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Node Manager 3 Data Node 3 Bloco1 Bloco2 Node Manager 2 Data Node 2 Node Manager 1 Data Node 1 Node Manager 4 Data Node 4 Resource Manager HDFS Node Manager 5 Data Node 5 Node Manager 6 Data Node 6 Node Manager 7 Data Node 7 Bloco3 Cliente Aplicação: ContaPalavras App Master ContaPal.Reducer ContaPal.Reducer Name Node Retorna Resultado Processamento Arquitetura do framework Apache Hadoop
  • 51.
    TÍTULO DO SEUSEMINÁRIO Subtítulo Node Manager 3 Data Node 3 Bloco1 Bloco2 Node Manager 2 Data Node 2 Node Manager 1 Data Node 1 Node Manager 4 Data Node 4 Resource Manager HDFS Node Manager 5 Data Node 5 Node Manager 6 Data Node 6 Node Manager 7 Data Node 7 Bloco3 Cliente Name Node Exibe Resultado Aplicação: ContaPalavras Processamento Arquitetura do framework Apache Hadoop
  • 52.
    Áreas de aplicação TÍTULODO SEU SEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop Financeiro Duminuição de risco de financimento Governo Diminuição de custos e melhor distribuição de efetivo e orçamento Saúde Análise de dados de sensores, monitoramento, genoma Indústria Sensores de monitoramento para manutenção de peças Óleo & Gas Análise de dados de sensores na Exploração eComerce Recomendação de produtos e venda online Comunicação Propaganda baseada na localização
  • 53.
    Empresas que adotamo Hadoop TÍTULO DO SEU SEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop
  • 54.
    Empresas que adotamo Hadoop TÍTULO DO SEU SEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop
  • 55.
    Empresas que adotamo Hadoop TÍTULO DO SEU SEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop
  • 56.
    Empresas que adotamo Hadoop TÍTULO DO SEU SEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop
  • 57.
    Exemplo de Aplicação:Saúde TÍTULO DO SEU SEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop O pesquisador Michael Schatz e sua equipe da Universidade de Maryland construíram o Crossbow usando o Hadoop em cloud que proporciona o custo de analisar um genoma humano abaixo de US $ 85 em 3 horas (40 nodes com 320-cores). http://bowtie- bio.sourceforge.net/crossbow/inde x.shtml Custo do Genoma Lei de Gordon E. Moore
  • 58.
    História TÍTULO DO SEUSEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop Out 2003 : Google publicou o primeiro paper GFS (Google File System) Jul 2005 : Nutch NDFS (projeto open source de Web Search Engine baseado em Lucene) começa a usar MapReduce Fev 2006 : Torna-se um subprojeto Lucene, e é renomeado Hadoop Abr 2007 : Yahoo! Cria um cluster de mais de 1000-nodes Jan 2008 : A Apache torna o Hadoop um projeto Top Level Abr 2009 : Ganhou o “Minute Sort” processando 500 GB em 59 segundos (com 1406 nodes) Out 2013 : Ganhou o “Gray Sort” (100 TBs / minutos) processando 102 TB em 4 segundos (com 2100 nodes) Fontes: http://sortbenchmark.org/ http://static.googleusercontent.com/media/research.google.com/pt-BR//archive/gfs-sosp2003.pdf http://www.ordinal.com/gensort.html
  • 59.
    Exemplo de Aplicação:Logística TÍTULO DO SEU SEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop US Xpress uma das maiores companhias de caminhão nos EUA está usando o Hadoop para armazenar dados de sensores de seus caminhões. Com resultado das análises eles economizam 6 milhões de dólares/ano em custos de combustível. http://www.computerweekly.com/new s/2240146943/Case-Study-US-Xpress- deploys-hybrid-big-data-with- Informatica
  • 60.
    Exemplo de Aplicação:Telecom TÍTULO DO SEU SEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop Nokia -Nokia recolhe e analisa grandes quantidades de dados de telefones móveis Problema: (1) Lidar com 100TB de dados estruturados e 500TB de dados + semi- estruturado (2) Média de novos dados : 1TB / dia Solução: HDFS que oferece o processamento de dados em escala de peta bytes. http://strataconf.com/stratany2012/public/s chedule/detail/26880
  • 61.
    Visitem TÍTULO DO SEUSEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop Sort Benchmark Home Page http://sortbenchmark.org/ Paper do Google http://static.googleusercontent.com/media/research.google.com/pt-BR//archive/gfs-sosp2003.pdf Aplicação baseada em Hadoop para análise do Genoma http://bowtie-bio.sourceforge.net/crossbow/index.shtml
  • 62.
    Obrigado!!! TÍTULO DO SEUSEMINÁRIO Subtítulo Arquitetura do framework Apache Hadoop