Hadoop

Apache Hadoop
DesenvolvedorApache Software Foundation
Lançamento inicialJulho 2008
Lançamento estável
3.0.3 / 31 de maio de 2018
Repositório
Escrito emJava
Sistema
operacional
Multiplataforma
TipoSistema de arquivos distribuídos
LicençaApache License 2.0
Websitehadoop.apache.org

Hadoop é uma plataforma de software em Java de computação distribuída voltada para clusters e processamento de grandes volumes de dados, com atenção a tolerância a falhas. Foi inspirada no MapReduce e no GoogleFS (GFS). Trata-se de um projeto da Apache de alto nível, construído por uma comunidade de contribuidores[1] e utilizando a linguagem de programação Java. O Yahoo! tem sido o maior contribuidor[2] do projeto, utilizando essa plataforma intensivamente em seus negócios.[3] É disponibilizado pela Amazon e IBM em suas plataformas.[4][5]

História

De acordo com seus co-fundadores, Doug Cutting e Mike Cafarella, a gênese do Hadoop foi o documento Google File System publicado em outubro de 2003.[6][7] Este artigo gerou outro do Google – "MapReduce: processamento de dados simplificado em grandes clusters".[8] O desenvolvimento começou no projeto Apache Nutch, mas foi transferido para o novo subprojeto Hadoop em janeiro de 2006.[19] Doug Cutting, que trabalhava no Yahoo! na época, deu-lhe o nome do elefante de brinquedo de seu filho.[9] O código inicial que foi fatorado do Nutch consistia em cerca de 5.000 linhas de código para HDFS e cerca de 6.000 linhas de código para MapReduce.

Em março de 2006, Owen O'Malley foi o primeiro committer a adicionar ao projeto Hadoop;[10] Hadoop 0.1.0 foi lançado em abril de 2006. Ele continua a evoluir por meio de contribuições que estão sendo feitas ao projeto.[11] O primeiro documento de design para o Hadoop Distributed File System foi escrito por Dhruba Borthakur em 2007.[12]

Composição

O framework do Apache Hadoop é composto dos módulos seguintes na versão 2.2.x:

  • Hadoop Common - Contém as bibliotecas e arquivos comuns e necessários para todos os módulos Hadoop.
  • Hadoop Distributed File System (HDFS) - Sistema de arquivos distribuído que armazena dados em máquinas dentro do cluster, sob demanda, permitindo uma largura de banda muito grande em todo o cluster.
  • Hadoop Yarn - Trata-se de uma plataforma de gerenciamento de recursos responsável pelo gerenciamento dos recursos computacionais em cluster, assim como pelo agendamento dos recursos.
  • Hadoop MapReduce - Modelo de programação para processamento em larga escala.

Todos os módulos do Hadoop são desenhados com a premissa fundamental de que falhas em hardware são comuns, sejam elas máquinas individuais ou um conjunto inteiro de máquinas em racks, e devem portanto ser automaticamente tratadas por software pelo framework.

Exemplo de um cluster de múltiplos nós

Ligações externas

Referências

  1. ↑ Applications and organizations using Hadoop (em inglês)
  2. ↑ «Hadoop Credits Page». Consultado em 12 de outubro de 2010. Arquivado do original em |arquivourl= requer |arquivodata= (ajuda)
  3. ↑ Yahoo! Launches World's Largest Hadoop Production Application Arquivado em 14 de maio de 2008, no Wayback Machine. (em inglês)
  4. ↑ IBM Software Team (2014). «Hadoop». IBM. Consultado em 17 de outubro de 2014
  5. ↑ Amazon Web Services (2014). «Amazon EMR». Amazon. Consultado em 17 de outubro de 2014
  6. ↑ Cutting, Mike; Cafarella, Ben; Lorica, Doug (31 de março de 2016). «The next 10 years of Apache Hadoop». O'Reilly Media (em inglês). Consultado em 12 de outubro de 2017
  7. ↑ Ghemawat, Sanjay; Gobioff, Howard; Leung, Shun-Tak (2003). «The Google File System». pp. 20–43
  8. ↑ Dean, Jeffrey; Ghemawat, Sanjay (2004). «MapReduce: Simplified Data Processing on Large Clusters». pp. 137–150
  9. ↑ Vance, Ashlee (17 de março de 2009). «Hadoop, a Free Software Program, Finds Uses Beyond Search». The New York Times
  10. ↑ «A brief history of Big Data». Qualified.One (em inglês). 4 de dezembro de 2022
  11. ↑ «Who We Are». hadoop.apache.org. Consultado em 11 de dezembro de 2017
  12. ↑ Borthakur, Dhruba (2006). «The Hadoop Distributed File System: Architecture and Design» (PDF). Apache Hadoop Code Repository. Consultado em 4 de dezembro de 2022