sistemas distribuidos - hadoop
DESCRIPTION
TRANSCRIPT
HADOOP
Aryel FernandesRenan Augusto de Miranda
Prof. Dr. Arlindo Flávio da Conceição
O que é?High-availability distributed object-oriented platform
• Framework dedicado a computação:• Distribuída • Escalável• Tolerante à falhas
O que é?
•Projeto open-source da Apache
•Criado em 2005
•Originalmente parte do Nutch
•Possui API para várias linguagens
HDFS
• Hadoop Distributed File System
• Inspirado no Google File System
• Distribui e replica arquivos entre várias máquinas
• Flexível
HDFS
Componentes
• NameNode
• DataNode
HDFS
NameNode
• Índice de arquivos
• Não guarda os dados em si
• Ponto único de falha
HDFS
DataNode
• Responsável por manter os dados
• Divide arquivos em vários blocos
• Conversam entre si para replicar dados
HDFS
MapReduce
• Aplicado ao Hadoop
• Mappers e Reducers
• Inputs geralmente são arquivos provenientes do HDFS
• Trabalho é feito em cima de pares (chave, valor)
MapReduce
• Mapper
MapReduce
• Reducer
MapReduce• JobTracker
• Responsável por receber requests de tarefas de MapReduce
• FIFO por padrão
• Mantém checkpoints
• Execução especulativa
MapReduce• TaskTracker
• Aceita operações de map ou reduce
• Trabalhos são processado em sandbox
• Possui um número limitado de “slots”
MapReduceShuffle
MapReduceOverview
MapReduce
Limitações
• Scheduling baseado em slots
• Gargalo em mappers
• Startup de JVMs
Arquitetura Comum
• NameNodes isolados:
• Primário• Secundário• Backup
• JobTracker isolado
Arquitetura Comum
Cada nó composto por:
• DataNodes
• TaskTracker
Exemplos de aplicações
•Logging
• Análise de marketing
• Aprendizado de máquina
• Processamento de Imagem
• Web crawling
Hive
• Sumarização, pesquisas e análise
• Provê a HiveQL
HBase
• Banco de dados distribuído
• Inspirado no BigTable
Referências bibliográficas• http://hadoop.apache.org/
• http://en.wikipedia.org/wiki/Apache_Hadoop
• http://www.cloudera.com/content/cloudera/en/why-cloudera/hadoop-and-big-data.html
• http://wiki.apache.org/hadoop/
• http://developer.yahoo.com/hadoop/tutorial
• http://hive.apache.org/
• http://hbase.apache.org/