sistemas distribuidos - hadoop

Post on 06-Dec-2014

297 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

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

top related