Hadoop sistema de arquivo distribuído
DISTRIBUÍDOS PARA MINERAÇÃO DE
DADOS UTILIZANDO O ARCABOUÇO
HADOOP MAPREDUCE
Eduardo Petrini Silva Castro
Orientador: Prof. Denilson Alves Pereira
Introdução
●
Contextualização
○
○
○
○
Aumento exponencial da quantidade de dados produzidos.
Baixo desempenho de algoritmos.
Mineração de dados.
Soluções:
Paralelismo x Distribuição
Introdução
●
Hadoop
○
○
○
○
○
Plataforma desenvolvida pela Apache.
Inspirado no Google File System (GFS).
Gerencia o armazenamento e o processamento de grandes quantidades de dados. Possui um Sistema de Arquivo Distribuído
(HDFS).
Implementa paradigma MapReduce.
Objetivo
Desenvolver algoritmos de Mineração de
Dados utilizando o Hadoop/MapReduce visando o aumento na velocidade de execução em relação à grande quantidade de dados.
Referêncial Teórico - Hadoop
●
Caractísticas:
○
○
○
○
○
HDFS
Cluster
Commodity hardware
Escalabilidade
Tolerância à falhas
Hadoop Arquitetura
●
●
Master e Slave.
NameNode
○
○
○
●
Serviço master.
Um NameNode por cluster.
FS-Shell
Datanode
○
○
Presente em todas máquinas slaves.
Armazenam, replicam, criam e excluem blocos. Hadoop Arquitetura
Arquivos são divididos em blocos e replicados:
Hadoop Daemons
●
Serviços do Hadoop:
○
Master
■
■
■
○
NameNode
SecondaryNameNode
JobTracker
Slave
■
■
DataNode
TaskTracker
Hadoop Daemons
●
JobTracker:
○
○
○
●
Ponte entre o Hadoop e MapReduce.
Determina um plano de execução.
Realocação de tarefas.
TaskTracker:
○
○
○
Gerenciamento individual das tarefas.
Gera várias JVMs.
Comunicação com o JobTracker.
Hadoop Daemons
MapReduce
Técnica de programação distribuída proposta pelo Google para processar dados em grande escala em um ambiente de computação distribuída.
●
●
Entrada e saída no formato
Função Map e função Reduce.
MapReduce
Exemplo "WordCount":
●