Hadoop

Apache Hadoop
Hadoop Logo
Hadoop Logo
Desenvolvedor Apache Software Foundation
Lançamento Julho 2008
Versão estável 3.0.3 (31 de maio de 2018; há 5 anos)
Escrito em Java
Sistema operativo Multiplataforma
Gênero(s) Sistema de arquivos distribuídos
Licença Apache License 2.0
Página oficial hadoop.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[editar | editar código-fonte]

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[editar | editar código-fonte]

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[editar | editar código-fonte]

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 
Ícone de esboço Este artigo sobre software livre é um esboço. Você pode ajudar a Wikipédia expandindo-o.