sistemas distribuidos - hadoop

22
HADOOP Aryel Fernandes Renan Augusto de Miranda Prof. Dr. Arlindo Flávio da Conceição

Upload: renanaugusto18

Post on 06-Dec-2014

297 views

Category:

Education


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Sistemas distribuidos  - Hadoop

HADOOP

Aryel FernandesRenan Augusto de Miranda

Prof. Dr. Arlindo Flávio da Conceição

Page 2: Sistemas distribuidos  - Hadoop

O que é?High-availability distributed object-oriented platform

• Framework dedicado a computação:• Distribuída • Escalável• Tolerante à falhas

Page 3: Sistemas distribuidos  - Hadoop

O que é?

•Projeto open-source da Apache

•Criado em 2005

•Originalmente parte do Nutch

•Possui API para várias linguagens

Page 4: Sistemas distribuidos  - Hadoop

HDFS

• Hadoop Distributed File System

• Inspirado no Google File System

• Distribui e replica arquivos entre várias máquinas

• Flexível

Page 5: Sistemas distribuidos  - Hadoop

HDFS

Componentes

• NameNode

• DataNode

Page 6: Sistemas distribuidos  - Hadoop

HDFS

NameNode

• Índice de arquivos

• Não guarda os dados em si

• Ponto único de falha

Page 7: Sistemas distribuidos  - Hadoop

HDFS

DataNode

• Responsável por manter os dados

• Divide arquivos em vários blocos

• Conversam entre si para replicar dados

Page 8: Sistemas distribuidos  - Hadoop

HDFS

Page 9: Sistemas distribuidos  - Hadoop

MapReduce

• Aplicado ao Hadoop

• Mappers e Reducers

• Inputs geralmente são arquivos provenientes do HDFS

• Trabalho é feito em cima de pares (chave, valor)

Page 10: Sistemas distribuidos  - Hadoop

MapReduce

• Mapper

Page 11: Sistemas distribuidos  - Hadoop

MapReduce

• Reducer

Page 12: Sistemas distribuidos  - Hadoop

MapReduce• JobTracker

• Responsável por receber requests de tarefas de MapReduce

• FIFO por padrão

• Mantém checkpoints

• Execução especulativa

Page 13: Sistemas distribuidos  - Hadoop

MapReduce• TaskTracker

• Aceita operações de map ou reduce

• Trabalhos são processado em sandbox

• Possui um número limitado de “slots”

Page 14: Sistemas distribuidos  - Hadoop

MapReduceShuffle

Page 15: Sistemas distribuidos  - Hadoop

MapReduceOverview

Page 16: Sistemas distribuidos  - Hadoop

MapReduce

Limitações

• Scheduling baseado em slots

• Gargalo em mappers

• Startup de JVMs

Page 17: Sistemas distribuidos  - Hadoop

Arquitetura Comum

• NameNodes isolados:

• Primário• Secundário• Backup

• JobTracker isolado

Page 18: Sistemas distribuidos  - Hadoop

Arquitetura Comum

Cada nó composto por:

• DataNodes

• TaskTracker

Page 19: Sistemas distribuidos  - Hadoop

Exemplos de aplicações

•Logging

• Análise de marketing

• Aprendizado de máquina

• Processamento de Imagem

• Web crawling

Page 20: Sistemas distribuidos  - Hadoop

Hive

• Sumarização, pesquisas e análise

• Provê a HiveQL

Page 21: Sistemas distribuidos  - Hadoop

HBase

• Banco de dados distribuído

• Inspirado no BigTable