77
. . . . . . Apresenta¸c˜ ao Disciplina: MC715 (Laborat´ orio de Sistemas Distribu´ ıdos) Hadoop: HDFS, MapReduce e ZooKeeper Celina d’ ´ Avila Samogin http://www.students.ic.unicamp.br/ra100582 13 de agosto de 2010 Profa: Islene Calciolari Garcia Celina Samogin () Hadoop 13 de agosto de 2010 1 / 36

Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

ApresentacaoDisciplina: MC715 (Laboratorio de Sistemas Distribuıdos)

Hadoop: HDFS, MapReduce e ZooKeeper

Celina d’ Avila Samoginhttp://www.students.ic.unicamp.br/∼ra100582

13 de agosto de 2010

Profa: Islene Calciolari Garcia

Celina Samogin () Hadoop 13 de agosto de 2010 1 / 36

Page 2: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

.. .1 Agenda

.. .2 Introducao

.. .3 Hadoop File System

.. .4 MapReduce

.. .5 Zookeeper

.. .6 Referencias Bibliograficas

Celina Samogin () Hadoop 13 de agosto de 2010 2 / 36

Page 3: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Agenda

.. .1 Agenda

.. .2 Introducao

.. .3 Hadoop File System

.. .4 MapReduce

.. .5 Zookeeper

.. .6 Referencias Bibliograficas

Celina Samogin () Hadoop 13 de agosto de 2010 3 / 36

Page 4: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Processar um volume relativamente grande de dados e possıvel, empoucas horas, com alguns dolares e com algumas maquinas:http://aws.amazon.com/

Isto tambem pode ser feito com o Hadoop, um framework paraprocessamento de dados em larga escala

Volume grande de dados ?

I megabyte - 106 - uma fotoI gigabyte - 109 - um DVD armazena 4.7 GB de um filmeI terabyte - 1012 - 200 filmesI petabyte - 1015

I exabyte - 1018

I zettabyte - 1021 - um disco de 140 GB para cada pessoa no mundo

Celina Samogin () Hadoop 13 de agosto de 2010 4 / 36

Page 5: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Processar um volume relativamente grande de dados e possıvel, empoucas horas, com alguns dolares e com algumas maquinas:http://aws.amazon.com/

Isto tambem pode ser feito com o Hadoop, um framework paraprocessamento de dados em larga escala

Volume grande de dados ?

I megabyte - 106 - uma fotoI gigabyte - 109 - um DVD armazena 4.7 GB de um filmeI terabyte - 1012 - 200 filmesI petabyte - 1015

I exabyte - 1018

I zettabyte - 1021 - um disco de 140 GB para cada pessoa no mundo

Celina Samogin () Hadoop 13 de agosto de 2010 4 / 36

Page 6: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Processar um volume relativamente grande de dados e possıvel, empoucas horas, com alguns dolares e com algumas maquinas:http://aws.amazon.com/

Isto tambem pode ser feito com o Hadoop, um framework paraprocessamento de dados em larga escala

Volume grande de dados ?

I megabyte - 106 - uma fotoI gigabyte - 109 - um DVD armazena 4.7 GB de um filmeI terabyte - 1012 - 200 filmesI petabyte - 1015

I exabyte - 1018

I zettabyte - 1021 - um disco de 140 GB para cada pessoa no mundo

Celina Samogin () Hadoop 13 de agosto de 2010 4 / 36

Page 7: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Processar um volume relativamente grande de dados e possıvel, empoucas horas, com alguns dolares e com algumas maquinas:http://aws.amazon.com/

Isto tambem pode ser feito com o Hadoop, um framework paraprocessamento de dados em larga escala

Volume grande de dados ?I megabyte - 106 - uma foto

I gigabyte - 109 - um DVD armazena 4.7 GB de um filmeI terabyte - 1012 - 200 filmesI petabyte - 1015

I exabyte - 1018

I zettabyte - 1021 - um disco de 140 GB para cada pessoa no mundo

Celina Samogin () Hadoop 13 de agosto de 2010 4 / 36

Page 8: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Processar um volume relativamente grande de dados e possıvel, empoucas horas, com alguns dolares e com algumas maquinas:http://aws.amazon.com/

Isto tambem pode ser feito com o Hadoop, um framework paraprocessamento de dados em larga escala

Volume grande de dados ?I megabyte - 106 - uma fotoI gigabyte - 109 - um DVD armazena 4.7 GB de um filme

I terabyte - 1012 - 200 filmesI petabyte - 1015

I exabyte - 1018

I zettabyte - 1021 - um disco de 140 GB para cada pessoa no mundo

Celina Samogin () Hadoop 13 de agosto de 2010 4 / 36

Page 9: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Processar um volume relativamente grande de dados e possıvel, empoucas horas, com alguns dolares e com algumas maquinas:http://aws.amazon.com/

Isto tambem pode ser feito com o Hadoop, um framework paraprocessamento de dados em larga escala

Volume grande de dados ?I megabyte - 106 - uma fotoI gigabyte - 109 - um DVD armazena 4.7 GB de um filmeI terabyte - 1012 - 200 filmes

I petabyte - 1015

I exabyte - 1018

I zettabyte - 1021 - um disco de 140 GB para cada pessoa no mundo

Celina Samogin () Hadoop 13 de agosto de 2010 4 / 36

Page 10: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Processar um volume relativamente grande de dados e possıvel, empoucas horas, com alguns dolares e com algumas maquinas:http://aws.amazon.com/

Isto tambem pode ser feito com o Hadoop, um framework paraprocessamento de dados em larga escala

Volume grande de dados ?I megabyte - 106 - uma fotoI gigabyte - 109 - um DVD armazena 4.7 GB de um filmeI terabyte - 1012 - 200 filmesI petabyte - 1015

I exabyte - 1018

I zettabyte - 1021 - um disco de 140 GB para cada pessoa no mundo

Celina Samogin () Hadoop 13 de agosto de 2010 4 / 36

Page 11: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Processar um volume relativamente grande de dados e possıvel, empoucas horas, com alguns dolares e com algumas maquinas:http://aws.amazon.com/

Isto tambem pode ser feito com o Hadoop, um framework paraprocessamento de dados em larga escala

Volume grande de dados ?I megabyte - 106 - uma fotoI gigabyte - 109 - um DVD armazena 4.7 GB de um filmeI terabyte - 1012 - 200 filmesI petabyte - 1015

I exabyte - 1018

I zettabyte - 1021 - um disco de 140 GB para cada pessoa no mundo

Celina Samogin () Hadoop 13 de agosto de 2010 4 / 36

Page 12: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Processar um volume relativamente grande de dados e possıvel, empoucas horas, com alguns dolares e com algumas maquinas:http://aws.amazon.com/

Isto tambem pode ser feito com o Hadoop, um framework paraprocessamento de dados em larga escala

Volume grande de dados ?I megabyte - 106 - uma fotoI gigabyte - 109 - um DVD armazena 4.7 GB de um filmeI terabyte - 1012 - 200 filmesI petabyte - 1015

I exabyte - 1018

I zettabyte - 1021 - um disco de 140 GB para cada pessoa no mundo

Celina Samogin () Hadoop 13 de agosto de 2010 4 / 36

Page 13: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

O Hadoop foi criado por Doug Cutting.

E utilizado por grandes empresas: Facebook, Yahoo, Twitter,Microsoft e IBM e por laboratorios de Universidades: University ofMaryland, Cornell University, University of Edinburg, Unicamp [9]

commodity hardware, Google File System (GFS), cluster, TCP/IP,RPC, GNU/Linux, MapReduce

2002 - Mike Cafarella e Doug Cutting criaram o projeto Nutch,algoritmos de buscadores web

2003 - artigo sobre o Google File System

2004 - uma implementacao open source do GFS: Nutch DistributedFile System (NDFS) que originou o HDFS

2004 - Google propos o MapReduce

2006 - Google e Doug Cutting do Yahoo! formaram um sub-projeto apartir do Apache Lucene 2 que foi chamado Hadoop

Celina Samogin () Hadoop 13 de agosto de 2010 5 / 36

Page 14: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

O Hadoop foi criado por Doug Cutting.

E utilizado por grandes empresas: Facebook, Yahoo, Twitter,Microsoft e IBM e por laboratorios de Universidades: University ofMaryland, Cornell University, University of Edinburg, Unicamp [9]

commodity hardware, Google File System (GFS), cluster, TCP/IP,RPC, GNU/Linux, MapReduce

2002 - Mike Cafarella e Doug Cutting criaram o projeto Nutch,algoritmos de buscadores web

2003 - artigo sobre o Google File System

2004 - uma implementacao open source do GFS: Nutch DistributedFile System (NDFS) que originou o HDFS

2004 - Google propos o MapReduce

2006 - Google e Doug Cutting do Yahoo! formaram um sub-projeto apartir do Apache Lucene 2 que foi chamado Hadoop

Celina Samogin () Hadoop 13 de agosto de 2010 5 / 36

Page 15: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

O Hadoop foi criado por Doug Cutting.

E utilizado por grandes empresas: Facebook, Yahoo, Twitter,Microsoft e IBM e por laboratorios de Universidades: University ofMaryland, Cornell University, University of Edinburg, Unicamp [9]

commodity hardware, Google File System (GFS), cluster, TCP/IP,RPC, GNU/Linux, MapReduce

2002 - Mike Cafarella e Doug Cutting criaram o projeto Nutch,algoritmos de buscadores web

2003 - artigo sobre o Google File System

2004 - uma implementacao open source do GFS: Nutch DistributedFile System (NDFS) que originou o HDFS

2004 - Google propos o MapReduce

2006 - Google e Doug Cutting do Yahoo! formaram um sub-projeto apartir do Apache Lucene 2 que foi chamado Hadoop

Celina Samogin () Hadoop 13 de agosto de 2010 5 / 36

Page 16: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

O Hadoop foi criado por Doug Cutting.

E utilizado por grandes empresas: Facebook, Yahoo, Twitter,Microsoft e IBM e por laboratorios de Universidades: University ofMaryland, Cornell University, University of Edinburg, Unicamp [9]

commodity hardware, Google File System (GFS), cluster, TCP/IP,RPC, GNU/Linux, MapReduce

2002 - Mike Cafarella e Doug Cutting criaram o projeto Nutch,algoritmos de buscadores web

2003 - artigo sobre o Google File System

2004 - uma implementacao open source do GFS: Nutch DistributedFile System (NDFS) que originou o HDFS

2004 - Google propos o MapReduce

2006 - Google e Doug Cutting do Yahoo! formaram um sub-projeto apartir do Apache Lucene 2 que foi chamado Hadoop

Celina Samogin () Hadoop 13 de agosto de 2010 5 / 36

Page 17: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

O Hadoop foi criado por Doug Cutting.

E utilizado por grandes empresas: Facebook, Yahoo, Twitter,Microsoft e IBM e por laboratorios de Universidades: University ofMaryland, Cornell University, University of Edinburg, Unicamp [9]

commodity hardware, Google File System (GFS), cluster, TCP/IP,RPC, GNU/Linux, MapReduce

2002 - Mike Cafarella e Doug Cutting criaram o projeto Nutch,algoritmos de buscadores web

2003 - artigo sobre o Google File System

2004 - uma implementacao open source do GFS: Nutch DistributedFile System (NDFS) que originou o HDFS

2004 - Google propos o MapReduce

2006 - Google e Doug Cutting do Yahoo! formaram um sub-projeto apartir do Apache Lucene 2 que foi chamado Hadoop

Celina Samogin () Hadoop 13 de agosto de 2010 5 / 36

Page 18: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

O Hadoop foi criado por Doug Cutting.

E utilizado por grandes empresas: Facebook, Yahoo, Twitter,Microsoft e IBM e por laboratorios de Universidades: University ofMaryland, Cornell University, University of Edinburg, Unicamp [9]

commodity hardware, Google File System (GFS), cluster, TCP/IP,RPC, GNU/Linux, MapReduce

2002 - Mike Cafarella e Doug Cutting criaram o projeto Nutch,algoritmos de buscadores web

2003 - artigo sobre o Google File System

2004 - uma implementacao open source do GFS: Nutch DistributedFile System (NDFS) que originou o HDFS

2004 - Google propos o MapReduce

2006 - Google e Doug Cutting do Yahoo! formaram um sub-projeto apartir do Apache Lucene 2 que foi chamado Hadoop

Celina Samogin () Hadoop 13 de agosto de 2010 5 / 36

Page 19: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

O Hadoop foi criado por Doug Cutting.

E utilizado por grandes empresas: Facebook, Yahoo, Twitter,Microsoft e IBM e por laboratorios de Universidades: University ofMaryland, Cornell University, University of Edinburg, Unicamp [9]

commodity hardware, Google File System (GFS), cluster, TCP/IP,RPC, GNU/Linux, MapReduce

2002 - Mike Cafarella e Doug Cutting criaram o projeto Nutch,algoritmos de buscadores web

2003 - artigo sobre o Google File System

2004 - uma implementacao open source do GFS: Nutch DistributedFile System (NDFS) que originou o HDFS

2004 - Google propos o MapReduce

2006 - Google e Doug Cutting do Yahoo! formaram um sub-projeto apartir do Apache Lucene 2 que foi chamado Hadoop

Celina Samogin () Hadoop 13 de agosto de 2010 5 / 36

Page 20: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

O Hadoop foi criado por Doug Cutting.

E utilizado por grandes empresas: Facebook, Yahoo, Twitter,Microsoft e IBM e por laboratorios de Universidades: University ofMaryland, Cornell University, University of Edinburg, Unicamp [9]

commodity hardware, Google File System (GFS), cluster, TCP/IP,RPC, GNU/Linux, MapReduce

2002 - Mike Cafarella e Doug Cutting criaram o projeto Nutch,algoritmos de buscadores web

2003 - artigo sobre o Google File System

2004 - uma implementacao open source do GFS: Nutch DistributedFile System (NDFS) que originou o HDFS

2004 - Google propos o MapReduce

2006 - Google e Doug Cutting do Yahoo! formaram um sub-projeto apartir do Apache Lucene 2 que foi chamado Hadoop

Celina Samogin () Hadoop 13 de agosto de 2010 5 / 36

Page 21: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

O Hadoop disponibiliza um armazenamento compartilhado(HDFS/Hadoop Distributed Filesystem) e um sistema de analise(MapReduce).

Facebook, Google, Twitter, Microsoft e IBM armazenam dados daordem de petabytes e utilizam o Hadoop.

O projeto Hadoop e hoje um projeto independente dentro dahierarquia de projetos da Apache Software Foundation.

Celina Samogin () Hadoop 13 de agosto de 2010 6 / 36

Page 22: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

O Hadoop disponibiliza um armazenamento compartilhado(HDFS/Hadoop Distributed Filesystem) e um sistema de analise(MapReduce).

Facebook, Google, Twitter, Microsoft e IBM armazenam dados daordem de petabytes e utilizam o Hadoop.

O projeto Hadoop e hoje um projeto independente dentro dahierarquia de projetos da Apache Software Foundation.

Celina Samogin () Hadoop 13 de agosto de 2010 6 / 36

Page 23: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

O Hadoop disponibiliza um armazenamento compartilhado(HDFS/Hadoop Distributed Filesystem) e um sistema de analise(MapReduce).

Facebook, Google, Twitter, Microsoft e IBM armazenam dados daordem de petabytes e utilizam o Hadoop.

O projeto Hadoop e hoje um projeto independente dentro dahierarquia de projetos da Apache Software Foundation.

Celina Samogin () Hadoop 13 de agosto de 2010 6 / 36

Page 24: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Os subprojetos atuais sao:

Common (Core) - componentes e interfaces para I/O

Avro - serializacao de dados, RPC, objetos persistentes, apenas paraHadoop

HDFS - filesystem do Hadoop, TCP/IP, executa nas maquinas de umcluster: NameNode, SecondaryNameNode, DataNodes

MapReduce - modelo de processamento de dados distribuıdos,executa nas maquinas de um cluster: jobtracker, tasktrackers

Zookeeper - servico de coordenacao, prove primitivas para locks,arvore de meta-dados, no lıder, nos seguidores

Celina Samogin () Hadoop 13 de agosto de 2010 7 / 36

Page 25: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Os subprojetos atuais sao:

Common (Core) - componentes e interfaces para I/O

Avro - serializacao de dados, RPC, objetos persistentes, apenas paraHadoop

HDFS - filesystem do Hadoop, TCP/IP, executa nas maquinas de umcluster: NameNode, SecondaryNameNode, DataNodes

MapReduce - modelo de processamento de dados distribuıdos,executa nas maquinas de um cluster: jobtracker, tasktrackers

Zookeeper - servico de coordenacao, prove primitivas para locks,arvore de meta-dados, no lıder, nos seguidores

Celina Samogin () Hadoop 13 de agosto de 2010 7 / 36

Page 26: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Os subprojetos atuais sao:

Common (Core) - componentes e interfaces para I/O

Avro - serializacao de dados, RPC, objetos persistentes, apenas paraHadoop

HDFS - filesystem do Hadoop, TCP/IP, executa nas maquinas de umcluster: NameNode, SecondaryNameNode, DataNodes

MapReduce - modelo de processamento de dados distribuıdos,executa nas maquinas de um cluster: jobtracker, tasktrackers

Zookeeper - servico de coordenacao, prove primitivas para locks,arvore de meta-dados, no lıder, nos seguidores

Celina Samogin () Hadoop 13 de agosto de 2010 7 / 36

Page 27: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Os subprojetos atuais sao:

Common (Core) - componentes e interfaces para I/O

Avro - serializacao de dados, RPC, objetos persistentes, apenas paraHadoop

HDFS - filesystem do Hadoop, TCP/IP, executa nas maquinas de umcluster: NameNode, SecondaryNameNode, DataNodes

MapReduce - modelo de processamento de dados distribuıdos,executa nas maquinas de um cluster: jobtracker, tasktrackers

Zookeeper - servico de coordenacao, prove primitivas para locks,arvore de meta-dados, no lıder, nos seguidores

Celina Samogin () Hadoop 13 de agosto de 2010 7 / 36

Page 28: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Os subprojetos atuais sao:

Common (Core) - componentes e interfaces para I/O

Avro - serializacao de dados, RPC, objetos persistentes, apenas paraHadoop

HDFS - filesystem do Hadoop, TCP/IP, executa nas maquinas de umcluster: NameNode, SecondaryNameNode, DataNodes

MapReduce - modelo de processamento de dados distribuıdos,executa nas maquinas de um cluster: jobtracker, tasktrackers

Zookeeper - servico de coordenacao, prove primitivas para locks,arvore de meta-dados, no lıder, nos seguidores

Celina Samogin () Hadoop 13 de agosto de 2010 7 / 36

Page 29: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

IntroducaoPig - processa grandes conjuntos de dados, linguagem Pig Latin,modo local e modo hadoopHBase - usado para aplicacoes de acesso aleatorio (read/write) agrandes conjuntos de dados e suporta computacoes em modo batchHive - usado para aplicacoes data warehouse sob o HDFS, umaSQL-like linguagem de consultaChukwa - sistema de coleta de informacoes para monitorar sistemasdistribuıdos

Figura: Projeto Hadoop [3]

Celina Samogin () Hadoop 13 de agosto de 2010 8 / 36

Page 30: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Por que nao usamos banco de dados ?

Em um banco de dados, uma atualizacao da arvore-B pode gerarmuitas operacoes de seeking.

seek time - processo de mover a cabeca do disco para um dado localno disco com o objetivo de ler ou de escrever dados

E mais rapido usar um algoritmo de ordenacao (sort/merge) para:

I analisar um grande volume de dados da ordem de petabytesI reconstruir toda a base de dados

Celina Samogin () Hadoop 13 de agosto de 2010 9 / 36

Page 31: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Por que nao usamos banco de dados ?

Em um banco de dados, uma atualizacao da arvore-B pode gerarmuitas operacoes de seeking.

seek time - processo de mover a cabeca do disco para um dado localno disco com o objetivo de ler ou de escrever dados

E mais rapido usar um algoritmo de ordenacao (sort/merge) para:

I analisar um grande volume de dados da ordem de petabytesI reconstruir toda a base de dados

Celina Samogin () Hadoop 13 de agosto de 2010 9 / 36

Page 32: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Por que nao usamos banco de dados ?

Em um banco de dados, uma atualizacao da arvore-B pode gerarmuitas operacoes de seeking.

seek time - processo de mover a cabeca do disco para um dado localno disco com o objetivo de ler ou de escrever dados

E mais rapido usar um algoritmo de ordenacao (sort/merge) para:

I analisar um grande volume de dados da ordem de petabytesI reconstruir toda a base de dados

Celina Samogin () Hadoop 13 de agosto de 2010 9 / 36

Page 33: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Por que nao usamos banco de dados ?

Em um banco de dados, uma atualizacao da arvore-B pode gerarmuitas operacoes de seeking.

seek time - processo de mover a cabeca do disco para um dado localno disco com o objetivo de ler ou de escrever dados

E mais rapido usar um algoritmo de ordenacao (sort/merge) para:I analisar um grande volume de dados da ordem de petabytes

I reconstruir toda a base de dados

Celina Samogin () Hadoop 13 de agosto de 2010 9 / 36

Page 34: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Por que nao usamos banco de dados ?

Em um banco de dados, uma atualizacao da arvore-B pode gerarmuitas operacoes de seeking.

seek time - processo de mover a cabeca do disco para um dado localno disco com o objetivo de ler ou de escrever dados

E mais rapido usar um algoritmo de ordenacao (sort/merge) para:I analisar um grande volume de dados da ordem de petabytesI reconstruir toda a base de dados

Celina Samogin () Hadoop 13 de agosto de 2010 9 / 36

Page 35: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Aplicacao para RDBMS Aplicacao paraHDFS/MapReduce

tamanho gigabytes petabytesacesso OLTP(interativo) e

batchbatch

atualizacao le e escreve muitas vezes escreve uma vez, lemuitas vezes

esquema estatico dinamicointegridade alta baixaescala nao linear linear

Fonte: [7]

Celina Samogin () Hadoop 13 de agosto de 2010 10 / 36

Page 36: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Introducao

Vıdeo do YouTube - Google container data center tour

Celina Samogin () Hadoop 13 de agosto de 2010 11 / 36

Page 37: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Agenda

.. .1 Agenda

.. .2 Introducao

.. .3 Hadoop File System

.. .4 MapReduce

.. .5 Zookeeper

.. .6 Referencias Bibliograficas

Celina Samogin () Hadoop 13 de agosto de 2010 12 / 36

Page 38: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

HDFS

Figura: Arquitetura de rede em dois nıveis para um cluster Hadoop [3]

Celina Samogin () Hadoop 13 de agosto de 2010 13 / 36

Page 39: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

HDFSUm cluster do HFS e composto por um unico NameNode, umservidor-mestre que gerencia o sistema de arquivos e controla o acesso aosarquivos de clientes. Ha uma serie de DataNodes, geralmente um por nodo cluster, que gerenciam o armazenamento anexado ao no em que saoexecutados. O NameNode executa operacoes no sistema de arquivos,como open, close, rename de arquivos e de diretorios.

Figura: Arquitetura do HFS [3]

Celina Samogin () Hadoop 13 de agosto de 2010 14 / 36

Page 40: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

HDFS

O NameNode e DataNode sao partes do software projetado pararodar em commodity hardware sob sistema operacional GNU/Linux.

HDFS e construıdo usando a linguagem Java.

Os protocolos do HDFS usam o protocolo TCP/IP. O cliente fala oprotocolo ClientProtocol com o NameNode atraves de uma porta. OsDataNodes falam o protocolo DataNodeProtocol com o NameNode.Esses protocolos executam uma Remote Procedure Call (RPC).

Celina Samogin () Hadoop 13 de agosto de 2010 15 / 36

Page 41: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

HDFSHFS disponibiliza espaco para sistema de arquivos e permite que os dadosdo usuario sejam armazenados em arquivos. Internamente, um arquivo edividido em um ou mais blocos e esses blocos sao armazenados em umconjunto de DataNodes. O tamanho default de cada bloco e 64MB.

Figura: Arquitetura do HFS - Datanodes e Blocos [3]

Celina Samogin () Hadoop 13 de agosto de 2010 16 / 36

Page 42: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Agenda

.. .1 Agenda

.. .2 Introducao

.. .3 Hadoop File System

.. .4 MapReduce

.. .5 Zookeeper

.. .6 Referencias Bibliograficas

Celina Samogin () Hadoop 13 de agosto de 2010 17 / 36

Page 43: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce

Os dados que MapReduce processa sao dados nao estruturados comotexto ou imagens. O MapReduce tenta colocar esses dados no noonde sao feitas as computacoes, desta forma, o acesso aos dados erapido, pois e local.

O MapReduce pode resolver problemas genericos cujos dados podemser divididos em matrizes de dados, para cada matriz a mesmacomputacao e necessaria e nao existe necessidade de comunicacaoentre as tarefas.

Problemas como empacotamento, linha de fabrica, otimizacao naosao resolvidos pelo modelo de computacao do MapReduce.

Celina Samogin () Hadoop 13 de agosto de 2010 18 / 36

Page 44: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce

Os dados que MapReduce processa sao dados nao estruturados comotexto ou imagens. O MapReduce tenta colocar esses dados no noonde sao feitas as computacoes, desta forma, o acesso aos dados erapido, pois e local.

O MapReduce pode resolver problemas genericos cujos dados podemser divididos em matrizes de dados, para cada matriz a mesmacomputacao e necessaria e nao existe necessidade de comunicacaoentre as tarefas.

Problemas como empacotamento, linha de fabrica, otimizacao naosao resolvidos pelo modelo de computacao do MapReduce.

Celina Samogin () Hadoop 13 de agosto de 2010 18 / 36

Page 45: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce

Os dados que MapReduce processa sao dados nao estruturados comotexto ou imagens. O MapReduce tenta colocar esses dados no noonde sao feitas as computacoes, desta forma, o acesso aos dados erapido, pois e local.

O MapReduce pode resolver problemas genericos cujos dados podemser divididos em matrizes de dados, para cada matriz a mesmacomputacao e necessaria e nao existe necessidade de comunicacaoentre as tarefas.

Problemas como empacotamento, linha de fabrica, otimizacao naosao resolvidos pelo modelo de computacao do MapReduce.

Celina Samogin () Hadoop 13 de agosto de 2010 18 / 36

Page 46: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce e Lisp

Map: fazer algo para todos da lista e gerar uma nova lista

Fold: combinar os resultados da nova lista de alguma maneira

Exemplo map e fold em Lisp [6]

(map (lambda (x) (* x x)) ’(1 2 3 4 5))

− > ’(1 4 9 16 25)

(fold + 0 ’(1 2 3 4 5))

− > 15

(fold * 1 ’(1 2 3 4 5))

− > 120

Celina Samogin () Hadoop 13 de agosto de 2010 19 / 36

Page 47: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce e Lisp

Map: fazer algo para todos da lista e gerar uma nova lista

Fold: combinar os resultados da nova lista de alguma maneira

Exemplo map e fold em Lisp [6]

(map (lambda (x) (* x x)) ’(1 2 3 4 5))

− > ’(1 4 9 16 25)

(fold + 0 ’(1 2 3 4 5))

− > 15

(fold * 1 ’(1 2 3 4 5))

− > 120

Celina Samogin () Hadoop 13 de agosto de 2010 19 / 36

Page 48: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce e Lisp

Map: fazer algo para todos da lista e gerar uma nova lista

Fold: combinar os resultados da nova lista de alguma maneira

Exemplo map e fold em Lisp [6]

(map (lambda (x) (* x x)) ’(1 2 3 4 5))

− > ’(1 4 9 16 25)

(fold + 0 ’(1 2 3 4 5))

− > 15

(fold * 1 ’(1 2 3 4 5))

− > 120

Celina Samogin () Hadoop 13 de agosto de 2010 19 / 36

Page 49: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce e Lisp

Map: fazer algo para todos da lista e gerar uma nova lista

Fold: combinar os resultados da nova lista de alguma maneira

Exemplo map e fold em Lisp [6]

(map (lambda (x) (* x x)) ’(1 2 3 4 5))

− > ’(1 4 9 16 25)

(fold + 0 ’(1 2 3 4 5))

− > 15

(fold * 1 ’(1 2 3 4 5))

− > 120

Celina Samogin () Hadoop 13 de agosto de 2010 19 / 36

Page 50: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce e Lisp

Map: fazer algo para todos da lista e gerar uma nova lista

Fold: combinar os resultados da nova lista de alguma maneira

Exemplo map e fold em Lisp [6]

(map (lambda (x) (* x x)) ’(1 2 3 4 5))

− > ’(1 4 9 16 25)

(fold + 0 ’(1 2 3 4 5))

− > 15

(fold * 1 ’(1 2 3 4 5))

− > 120

Celina Samogin () Hadoop 13 de agosto de 2010 19 / 36

Page 51: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce e Lisp

Map: fazer algo para todos da lista e gerar uma nova lista

Fold: combinar os resultados da nova lista de alguma maneira

Exemplo map e fold em Lisp [6]

(map (lambda (x) (* x x)) ’(1 2 3 4 5))

− > ’(1 4 9 16 25)

(fold + 0 ’(1 2 3 4 5))

− > 15

(fold * 1 ’(1 2 3 4 5))

− > 120

Celina Samogin () Hadoop 13 de agosto de 2010 19 / 36

Page 52: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce e Lisp

Exemplo de soma dos quadrados de numeros [6]

(define (sum-of-squares v)

(fold + 0 (map (lambda (x) (* x x)) v)))

(sum-of-squares ’(1 2 3 4 5))

− > 55

Celina Samogin () Hadoop 13 de agosto de 2010 20 / 36

Page 53: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce e Lisp

Exemplo de soma dos quadrados de numeros [6]

(define (sum-of-squares v)

(fold + 0 (map (lambda (x) (* x x)) v)))

(sum-of-squares ’(1 2 3 4 5))

− > 55

Celina Samogin () Hadoop 13 de agosto de 2010 20 / 36

Page 54: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce e Lisp

Exemplo de soma dos quadrados de numeros [6]

(define (sum-of-squares v)

(fold + 0 (map (lambda (x) (* x x)) v)))

(sum-of-squares ’(1 2 3 4 5))

− > 55

Celina Samogin () Hadoop 13 de agosto de 2010 20 / 36

Page 55: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce e Lisp

Exemplo de soma dos quadrados de numeros [6]

(define (sum-of-squares v)

(fold + 0 (map (lambda (x) (* x x)) v)))

(sum-of-squares ’(1 2 3 4 5))

− > 55

Celina Samogin () Hadoop 13 de agosto de 2010 20 / 36

Page 56: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce

Problema generico:

iteracao sobre um numero grande de registros

Map extrai algo de cada registro (chave, valor)

rearranjo (shuffle e ordenacao de resultados intermediarios por (chave,valor)

Reduce agrega os resultados intermediarios

geracao da saıda

Celina Samogin () Hadoop 13 de agosto de 2010 21 / 36

Page 57: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce

(input) < k1, v1 >→ map →< k2, v2 >→ combine→< k2, v2 >→ reduce →< k3, v3 > (output)

Exemplo com a shell do linux: contar palavras de um arquivo usandoos comandos: cat, tr, sort, uniq

Exemplo com MapReduce: contar palavras de um conjunto dearquivos usando o /bin/cat como map e o /usr/bin/wc como reduce

Programas podem ser escritos em varias linguagens como Java, Ruby,Python e C++ [4]

Celina Samogin () Hadoop 13 de agosto de 2010 22 / 36

Page 58: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce

(input) < k1, v1 >→ map →< k2, v2 >→ combine→< k2, v2 >→ reduce →< k3, v3 > (output)

Exemplo com a shell do linux: contar palavras de um arquivo usandoos comandos: cat, tr, sort, uniq

Exemplo com MapReduce: contar palavras de um conjunto dearquivos usando o /bin/cat como map e o /usr/bin/wc como reduce

Programas podem ser escritos em varias linguagens como Java, Ruby,Python e C++ [4]

Celina Samogin () Hadoop 13 de agosto de 2010 22 / 36

Page 59: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce

(input) < k1, v1 >→ map →< k2, v2 >→ combine→< k2, v2 >→ reduce →< k3, v3 > (output)

Exemplo com a shell do linux: contar palavras de um arquivo usandoos comandos: cat, tr, sort, uniq

Exemplo com MapReduce: contar palavras de um conjunto dearquivos usando o /bin/cat como map e o /usr/bin/wc como reduce

Programas podem ser escritos em varias linguagens como Java, Ruby,Python e C++ [4]

Celina Samogin () Hadoop 13 de agosto de 2010 22 / 36

Page 60: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce

(input) < k1, v1 >→ map →< k2, v2 >→ combine→< k2, v2 >→ reduce →< k3, v3 > (output)

Exemplo com a shell do linux: contar palavras de um arquivo usandoos comandos: cat, tr, sort, uniq

Exemplo com MapReduce: contar palavras de um conjunto dearquivos usando o /bin/cat como map e o /usr/bin/wc como reduce

Programas podem ser escritos em varias linguagens como Java, Ruby,Python e C++ [4]

Celina Samogin () Hadoop 13 de agosto de 2010 22 / 36

Page 61: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

MapReduce

Figura: Uma execucao do MapReduce [8]

Celina Samogin () Hadoop 13 de agosto de 2010 23 / 36

Page 62: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Agenda

.. .1 Agenda

.. .2 Introducao

.. .3 Hadoop File System

.. .4 MapReduce

.. .5 Zookeeper

.. .6 Referencias Bibliograficas

Celina Samogin () Hadoop 13 de agosto de 2010 24 / 36

Page 63: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Zookeeper

Figura: Zookeeper [2]

Celina Samogin () Hadoop 13 de agosto de 2010 25 / 36

Page 64: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Zookeeper

E um servico de coordenacao de processos de aplicacoes em sistemasdistribuıdos, criado pelo time do Yahoo!

Celina Samogin () Hadoop 13 de agosto de 2010 26 / 36

Page 65: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Zookeeper

servidor prove os servicos do ZK, processam os pedidos em ordemFIFO

clientes usuarios do servico do ZK que estabelece uma sessao noservidor, cliente usa uma API para realizar solicitacoes

z-node no onde estao armazenados dados (meta-dados), no maximo1MB por default, organizados em uma hierarquia (arvore dedados ou um filesystem), todos os nos armazenam dados,nem todos os nos tem filhos

servicos uma abstracao de um conjunto de z-nodes organizadossegundo um hierarchical name space, notificar clientes sobrealteracoes do hierarchical name space atraves de gatilhos(triggers)

Celina Samogin () Hadoop 13 de agosto de 2010 27 / 36

Page 66: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Zookeeper

servidor prove os servicos do ZK, processam os pedidos em ordemFIFO

clientes usuarios do servico do ZK que estabelece uma sessao noservidor, cliente usa uma API para realizar solicitacoes

z-node no onde estao armazenados dados (meta-dados), no maximo1MB por default, organizados em uma hierarquia (arvore dedados ou um filesystem), todos os nos armazenam dados,nem todos os nos tem filhos

servicos uma abstracao de um conjunto de z-nodes organizadossegundo um hierarchical name space, notificar clientes sobrealteracoes do hierarchical name space atraves de gatilhos(triggers)

Celina Samogin () Hadoop 13 de agosto de 2010 27 / 36

Page 67: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Zookeeper

servidor prove os servicos do ZK, processam os pedidos em ordemFIFO

clientes usuarios do servico do ZK que estabelece uma sessao noservidor, cliente usa uma API para realizar solicitacoes

z-node no onde estao armazenados dados (meta-dados), no maximo1MB por default, organizados em uma hierarquia (arvore dedados ou um filesystem), todos os nos armazenam dados,nem todos os nos tem filhos

servicos uma abstracao de um conjunto de z-nodes organizadossegundo um hierarchical name space, notificar clientes sobrealteracoes do hierarchical name space atraves de gatilhos(triggers)

Celina Samogin () Hadoop 13 de agosto de 2010 27 / 36

Page 68: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Zookeeper

servidor prove os servicos do ZK, processam os pedidos em ordemFIFO

clientes usuarios do servico do ZK que estabelece uma sessao noservidor, cliente usa uma API para realizar solicitacoes

z-node no onde estao armazenados dados (meta-dados), no maximo1MB por default, organizados em uma hierarquia (arvore dedados ou um filesystem), todos os nos armazenam dados,nem todos os nos tem filhos

servicos uma abstracao de um conjunto de z-nodes organizadossegundo um hierarchical name space, notificar clientes sobrealteracoes do hierarchical name space atraves de gatilhos(triggers)

Celina Samogin () Hadoop 13 de agosto de 2010 27 / 36

Page 69: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Zookeeper

Figura: Zookeeper: hierarchical name space e clientes [5]

Celina Samogin () Hadoop 13 de agosto de 2010 28 / 36

Page 70: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Zookeeper

Figura: Zookeeper: servidor (lıder e seguidores) e clientes [1]

Celina Samogin () Hadoop 13 de agosto de 2010 29 / 36

Page 71: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Zookeeper

Operacoes da API para o cliente [1] [3]:

create(path, data, flags)

delete(path, version)

exists(path, watch)

getdata(path, watch)

setData(path, data, version)

getChildren(path, watch)

sync(path)

getACL(path)

setACL(path, ACL)

Celina Samogin () Hadoop 13 de agosto de 2010 30 / 36

Page 72: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Zookeeper

Quem usa [10]:

Yahoo!

Rackspace - empresa de servicos de e-mail, de computacao em nuvem

HBASE - base de dados do Hadoop, equivalente ao Bigtable daGoogle

Eclipse - framework open source da IBM

Celina Samogin () Hadoop 13 de agosto de 2010 31 / 36

Page 73: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Agenda

.. .1 Agenda

.. .2 Introducao

.. .3 Hadoop File System

.. .4 MapReduce

.. .5 Zookeeper

.. .6 Referencias Bibliograficas

Celina Samogin () Hadoop 13 de agosto de 2010 32 / 36

Page 74: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Referencias Bibliograficas I

Hunt, P. Konar, M. Junqueira, F. P. Reed, B.Zookeeper: Wait-free coordination for internet-scale systems.In USENIX ATC ’10: Proceedings of the Usenix Annual TechnicalConference, Berkeley, CA, USA, 2010. USENIX Association.

Moynihan, D.When i was 7, i wanted to be a zookeeper.URL=http://danmoynihan.blogspot.com/2009/01/when-i-was-7-i-wanted-to-be-zookeeper.html. Acessado em 08 de agosto de2010.

Apache Software Foundation.Hdfs architecture.URL=http://hadoop.apache.org/common/docs/current/hdfs design.html.Acessado em 08 de maio de 2010.

Celina Samogin () Hadoop 13 de agosto de 2010 33 / 36

Page 75: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Referencias Bibliograficas II

Noll, M. G.Writing an hadoop mapreduce program in python.URL=http://www.michael-noll.com/wiki/Writing An Hadoop MapReduce Program In Python.Acessado em 08 de agosto de 2010.

Grigorik, I.Distributed coordination with zookeeper.URL=http://www.igvita.com/2010/04/30/distributed-coordination-with-zookeeper. Acessado em 08 de agosto de2010.

Celina Samogin () Hadoop 13 de agosto de 2010 34 / 36

Page 76: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Referencias Bibliograficas III

Lin, J.lectures of 2008 cloud computing course - from lisp to mapreduce andgfs.URL=http://www.umiacs.umd.edu/ jimmylin/cloud-2008-Spring/Session2.ppt. Acessado em 08 de agosto de2010.

White, T.Hadoop: The Definive Guide, chapter 1, 2, 3, pages 1–74.O’Reilly, Sebastopol, CA, USA, 2009.

Google Code University.Introduction to parallel programming and mapreduce.URL=http://code.google.com/intl/pt-BR/edu/parallel/mapreduce-tutorial.html. Acessado em 08 de agosto de2010.

Celina Samogin () Hadoop 13 de agosto de 2010 35 / 36

Page 77: Hadoop: HDFS, MapReduce e ZooKeeperra100582/mc715/apresenta.pdf · ..1 Agenda...2 Introdu¸c˜ao...3 Hadoop File System...4 MapReduce...5 Zookeeper...6 Referˆencias Bibliogr´aficas

. . . . . .

Referencias Bibliograficas IV

Hadoop Wiki.Hadoop wiki - poweredby.URL=http://wiki.apache.org/hadoop/PoweredBy. Acessado em 08 demaio de 2010.

Zookeeper Wiki.Zookeeper wiki - poweredby.URL=ttp://wiki.apache.org/hadoop/ZooKeeper/PoweredBy.Acessado em 08 de agosto de 2010.

Celina Samogin () Hadoop 13 de agosto de 2010 36 / 36