apache hadoop - conceitos tericos e prticos, evoluo e ... hadoop apache hadoop...

Download Apache Hadoop - Conceitos tericos e prticos, evoluo e ...  Hadoop Apache Hadoop Conceitostericoseprticos,evoluo enovaspossibilidades DanielCordeiro Departamento de

Post on 27-Apr-2018

219 views

Category:

Documents

4 download

Embed Size (px)

TRANSCRIPT

  • Apache Hadoop

    Apache HadoopConceitos tericos e prticos, evoluo

    e novas possibilidades

    Daniel Cordeiro

    Departamento de Cincia da ComputaoInstituto de Matemtica e Estatstica

    Universidade de So Paulo

    Baseado no curso apresentado no CSBC12 pelos professoresAlfredo Goldman e Fabio Kon (USP);

    Francisco Pereira Jr., Ivanilton Polato e Rosangela de Ftima Pereira (UTFPR)

    ERAD/SP 25 de julho de 2012

  • Apache Hadoop

    Introduo

    Motivao

    Uso potencial em aplicaes BigData

    Conjuntos de dados na ordem de petabytesComputao intensiva sobre os dados

    Computao paralela no trivial

    Diviso das subtarefasEscalonamento das subtarefasBalanceamento de carga

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 2 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    Motivao

    Apache HadoopHadoop remove a complexidade da computao de altodesempenho

    Custo eficiente

    Mquinas comunsRede comumTolerncia a falhas automtica

    Poucos administradoresFacilidade de uso

    Poucos programadores

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 3 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    Hadoop

    Arcabouo para processamento e armazenamento de dados emlarga escala:

    Cdigo abertoImplementado em JavaInspirado no GFS e MapReduce do GoogleProjeto top-level da Fundao ApacheTecnologia recente, porm j muito utilizada

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 4 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    Histrico

    * http://nutch.apache.org/** http://labs.google.com/papers/mapreduce.html

    http://labs.google.com/papers/gfs.html

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 5 / 88

    http://nutch.apache.org/http://labs.google.com/papers/mapreduce.htmlhttp://labs.google.com/papers/gfs.htmlmailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    Origem (I)

    2003 Google publica artigo do GFS (SOSP03)2004 Google publica artigo do MapReduce (OSDI04)2005 Doug Cutting cria uma verso do MapReduce para o

    projeto Nutch2006 Hadoop se torna um subprojeto do Apache Lucene

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 6 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    Origem (II)

    2007 Yahoo! Inc. se torna o maior contribuidor e utilizadordo projeto (aglomerado com mais de 1.000 ns)

    2008 Hadoop deixa a tutela do projeto Lucene e setransforma em um projeto top-level da Apache

    2010 Facebook anuncia o maior aglomerado Hadoop domundo (mais de 2.900 ns e 30 petabytes de dados)

    2011 Apache disponibiliza a verso 1.0.0

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 7 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    Quem utiliza?

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 8 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    The New York Times

    Published: May 2, 1892Copyright The New York Times

    http://open.blogs.nytimes.com/2007/11/01/self-service-prorated-super-computing-fun/

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 9 / 88

    http://open.blogs.nytimes.com/2007/11/01/self-service-prorated-super-computing-fun/mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    The New York Times

    Em 2007, o jornal The New York Times converteu para PDFtodos seus os artigos publicados entre 1851 e 1980Cada artigo composto por vrias imagens previamentedigitalizadas que precisavam ser posicionadas eredimensionadas de forma coerente pra a criao do PDFO Hadoop foi utilizado para converter 4 TB de imagens TIFFem 11 milhes de arquivos PDF100 instncias EC2 da Amazon foram utilizadas durante24 horas para gerar 1,5 TB de arquivos PDF, a um custo deaproximadamente US$ 240,00

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 9 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    Onde o Hadoop utilizado?

    Soluo para:

    Data warehouseBusiness intelligenceAplicaes analticasMdias sociais

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 10 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    Muitas possibilidades...

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 11 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    Vantagens

    Por que usar Hadoop?

    Cdigo abertoEconmicoRobustoEscalvelFoco na regra de negcio

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 12 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    Vantagens

    Vantagem I

    Cdigo Aberto

    Comunidade ativaApoio de grandes corporaesCorrees de erros frequentesConstante evoluo do arcabouo

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 13 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    Vantagens

    Vantagem II

    Econmico

    Software livreUso de mquinas e redes convencionaisAluguel de servios disponveis na nuvem:

    Amazon Elastic MapReduceGoogle App Engine MapReduceetc.

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 14 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    Vantagens

    Vantagem III

    Robusto

    Se em 1 mquina h probabilidade de haver falhas...Tempo mdio entre falhas para 1 n: 3 anosTempo mdio entre falhas para 1.000 ns: 1 dia

    Estratgias

    Replicao dos dadosArmazenamento de metadados

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 15 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    Vantagens

    Vantagem IV

    Escalvel

    Permite facilmente adicionar mquinas ao aglomeradoAdio no implica na alterao do cdigo-fonteLimitao apenas relacionada a quantidade de recursosdisponveis

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 16 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    Vantagens

    Vantagem V

    Foco na regra de negcio

    Hadoop realiza todo o trabalho duroDesenvolvedores podem focar apenas na abstrao doproblema

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 17 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Introduo

    Desvantagens

    Desvantagens

    nico n mestre

    Ponto nico de falhaPode impedir o escalonamento

    Dificuldade das aplicaes paralelas

    Problemas no paralelizveisProcessamento de arquivos pequenosMuito processamento em um pequeno conjunto de dados

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 18 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Suposies

    Suposies do projeto (I)

    Problemas

    Os dados que sero processados no cabem em um nCada n composto por hardware comumFalhas podem (e iro) acontecer

    Ideias e solues do Apache Hadoop

    Sistema de arquivos distribudoReplicao internaRecuperao de falhas automtica

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 19 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    Suposies

    Suposies do projeto (II)

    Problemas

    Mover dados caro (largura de banda pequena)Mover computao baratoProgramao paralela e distribuda difcil

    Ideias e solues do Apache Hadoop

    Mover a computao para onde esto os dadosEscrever programas que so fceis de se distribuirParalelismo de dados utilizando conceitos de linguagemfuncional

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 20 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    O modelo MapReduce

    O exemplo clssico: contagem de palavras

    Word CountGerar uma lista de frequncia das palavras em um conjunto grandede arquivos: ordem de terabytes!

    Word CountMinicursos Ha-

    doop ERAD 2012ERAD 2012 Campinas SP

    Minicursos ERAD 2012ERAD 2012 em Campinas

    2012, 4ERAD, 4

    Campinas, 2em, 1

    Hadoop, 1Minicursos, 2

    SP, 1

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 21 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    O modelo MapReduce

    Em um mundo no paralelo

    Assuma que a mquina tem memria suficiente (> 1 TB !)

    word-count() {for each document d {for each word w in d {

    w_count[w]++}

    }save w_count to persistent storage

    }

    Fcil, mas provavelmente a execuo demorar um longo tempo,pois a entrada da ordem de terabytes

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 22 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    O modelo MapReduce

    Em um mundo paralelo qualquerMutex lock; // protege w_countword-count() {

    for each document d in parallel {for each word w in d {lock.Lock();w_count[w]++lock.Unlock();

    }}save w_count to persistent storage

    }

    Problemas:utiliza uma estrutura de dados nica e globalrecursos compartilhados: seo crtica!

    Daniel Cordeiro (IME/USP) danielc@ime.usp.br ERAD/SP 25 de julho de 2012 23 / 88

    mailto:danielc@ime.usp.br

  • Apache Hadoop

    O modelo MapReduce

    Google MapReduce

    O modelo inicial proposto pelo Google apresentou conceitospara simplificar alguns prob