Apache Hadoop

Uit Wikipedia, de vrije encyclopedie
(Doorverwezen vanaf Hadoop)
Apache Hadoop
Logo
Ontwerper(s) Doug Cutting, Mike Cafarella
Ontwikkelaar(s) Apache Software Foundation
Uitgebracht 1 april 2006 (18 jaar)
Recentste versie 1.0.0 (15 december 2011)[1][2][3] Bewerken op Wikidata
Status Actief
Besturingssysteem multiplatform, POSIX
Geschreven in Java
Categorie Gedistribueerd bestandssysteem
Licentie(s) Apache License 2.0
Versiebeheer
Website Projectpagina
Portaal  Portaalicoon   Informatica
Vrije software

Apache Hadoop is een open source softwareframework voor gedistribueerde opslag en verwerking van grote hoeveelheden data met behulp van het MapReduce paradigma. Hadoop is als platform een drijvende kracht achter de populariteit van big data.[4] Het draait op een cluster van computers dat bestaat uit commodity hardware. In het ontwerp van de Hadoop-softwarecomponenten is rekening gehouden met uitval van systemen in een cluster, door o.a. data te repliceren en te verspreiden over meerdere computers/opslagmedia.

Modules[bewerken | brontekst bewerken]

Hadoop bestaat in de basis uit de volgende modules:

  • Hadoop Common - een verzameling softwarebibliotheken die door de overige modules gebruikt worden;
  • Hadoop Distributed File System (HDFS) - het gedistribueerde bestandssysteem dat bestanden gedistribueerd over de systemen in het cluster opslaat;
  • Hadoop YARN (sinds versie 2.0) - de resource manager die beschikbare systeembronnen toewijst aan de applicaties die op Hadoop draaien;
  • Hadoop MapReduce - een implementatie van het MapReduce-paradigma voor het op grote schaal verwerken van data.

Applicaties[bewerken | brontekst bewerken]

Naast deze basismodules is er een groot aantal applicaties ontwikkeld voor gebruik in of op Hadoop. Veelgebruikte applicaties zijn Apache Hive, Apache Pig, Apache HBase, Apache Phoenix, Apache Spark, Apache Flume, Apache Oozie, Apache Zookeeper, Apache Sqoop en Apache Storm. Met de naam Hadoop wordt daarom vaak niet alleen het framework, maar het hele ecosysteem van applicaties rondom het framework bedoeld.

Geschiedenis[bewerken | brontekst bewerken]

Google[bewerken | brontekst bewerken]

In oktober 2003 publiceerde Google een artikel over Google File System[5], een schaalbaar en gedistribueerd bestandssysteem voor gebruik in data-intensieve applicaties. Doug Cutting, de ontwikkelaar achter Apache Lucene, en Mike Cafarella, waren op dat moment bezig met hun open-source webcrawler Apache Nutch en zochten een oplossing om de grote datasets die zij met Nutch creëerden te kunnen verwerken.[6] Op basis van het artikel van Google implementeerden zij in 2004 het Google File System in Java onder de naam Nutch Distributed File System.

Voor het kunnen verwerken van de data op NDFS zochten Cutting en Cafarella naar een oplossing die net zo schaalbaar moest zijn als het bestandssysteem zelf. Ook hiervoor kwamen ze uit bij Google. Het softwarebedrijf publiceerde in 2004 een artikel over MapReduce.[7] Cutting en Cafarella implementeerden het MapReduce-principe in Nutch.

Yahoo![bewerken | brontekst bewerken]

In 2006 begon Cutting aan Hadoop, als subproject van Lucene. Hij bracht het gedistribueerde bestandssysteem, hernoemd naar HDFS, en MapReduce van Nutch onder in dit nieuwe project. Hij wekte hiermee de interesse van Yahoo!, dat met hun in C++ ontwikkelde search backend tegen problemen aanliep. Yahoo! nam Cutting in dienst om de overstap te maken naar Hadoop. Vanaf 2007 begonnen meer bedrijven gebruik te maken van Hadoop. Bedrijven als Twitter, Facebook en LinkedIn namen Hadoop serieus en ontwikkelden hun eigen software rondom het platform. Zo ontstond er een open-source ecosysteem.

2008 en verder[bewerken | brontekst bewerken]

In 2008 groeide Hadoop uit van een subproject van Lucene tot een top-level Apache-project. Verschillende open-sourceprojecten rondom het Hadoop-framework verschenen in deze tijd, waaronder NoSQL-database Apache HBase, Facebook's Apache Hive en Yahoo's Apache Pig. Ook werd Cloudera opgericht, het eerste bedrijf dat een distributie van Hadoop op commerciële basis aanbood.