Het nieuwe Hadoop, dat eerder deze week gelanceerd werd, legt een geheel nieuwe basis voor de manier waarop big data kan worden opgeslagen, doorgeplozen en verwerkt.
Hadoop 2.0 stimuleert niet alleen de manier waarop apps voor het big data-platform worden geschreven, maar maakt ook geheel nieuwe methodologieën van datacrunching mogelijk die eerder ondenkbaar waren vanwege architecturale beperkingen. Kort gezegd, dit is allemaal heel positief.
Maar waarom is Apache hier niet eerder mee gekomen? En misschien belangrijker, wat is Hadoop in de toekomst verder van plan?
Kritiek op Hadoop heeft zich in het verleden veelal geconcentreerd rond de beperkingen qua schaalbaarheid, maar de grootste doorn in het oog was de taakverwerking. Alle taken in Hadoop worden als batchprocessen gedraaid via een enkele daemon met de naam JobTracker. Juist hierin zit de bottleneck met schaalbaarheid en verwerkingssnelheid.
Binnen Hadoop 2 is de JobTracker op de schop gegaan. In plaats van de JobTracker draait Hadoop op een heel nieuw taakverwerkingsraamwerk waarin twee daemons worden gebruikt: ResourceManager, de beheerder van alle taken voor het systeem en NodeManager, dat op iedere Hadoop-node draait en de ResourceManager op de hoogte houdt van de taakverwerking op de desbetreffende node. (Iedere draaiende applicatie kent ook zijn eigen beheerder, de ApplicationMaster.)
Deze opstelling wijkt zo sterk van de methode af die MapReduce hanteerde, dat Apache met een nieuwe naam op de proppen kwam: YARN, oftewel Yet Another Resource Negiotiator. Binnen YARN is MapReduce één van de vele mogelijke componenten. Op YARN kan elke gedistribueerde applicatie, mits correct gepoort, probleemloos draaien, belooft Apache. De organisatie houdt een lijst bij met YARN-compatible applicaties en weet te melden dat er binnenkort nog veel meer software aan deze lijst wordt toegevoegd.
YARN maakt een geheel nieuwe manier van het omgaan met big data mogelijk, maar gelukkig blijven de bestaande API’s backwards compatible, zodat je bestaande taken alleen opnieuw hoeft te compileren voor Hadoop 2 om goed te kunnen werken zonder allerlei andere systemen opnieuw te configureren.
De grootste winst van YARN is dat het MapReduce reduceert tot één van de manieren waarop data via Hadoop doorzocht kan worden. Apache’s eigen Spark is voor sommige taken een betere kandidaat dan MapReduce. Het voordeel van Hadoop 2 is dat je zelf kunt kiezen welke engine het beste past.
Hadoop-partners Cloudera en Hortonworks hebben zich al achter de nieuwe versie geschaard en zullen hun producten aanpassen aan het nieuwe YARN-raamwerk. Het feit dat deze commerciële bedrijven geen fork van het product hebben gecreëerd of vast blijven houden aan de eerdere versie, getuigt van zeer veel vertrouwen in het product en vroege volwassenheid.