HADOOP
Aryel Fernandes
Renan 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”
MapReduce
Shuffle
MapReduce
Overview
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/

Sistemas distribuidos - Hadoop