Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , reacties: 39, views: 100.403 •

Wat is Hadoop?

De eerste code voor Hadoop werd meer dan tien jaar geleden geschreven door Doug Cutting. Hij werkte destijds aan twee projecten voor een opensource zoekmachine op basis van Java: Nutch verzorgde het crawler-gedeelte, Lucene de indexering en search-afhandeling. Toen Google in 2004 op de Usenix-conferentie een paper over het MapReduce-algoritme publiceerde, gebruikte Cutting dat om de schaalbaarheid van Lucene te verbeteren. Het resultaat was Hadoop, dat inmiddels, net als Lucene en Nutch, is ondergebracht bij de Apache Software Foundation (ASF), waar Cutting op dit moment voorzitter van is.

Hadoop is het platform voor de internetondernemer die in het groot denkt. Wie aan de volgende Google, Twitter of Facebook werkt, heeft heel veel verwerkingskracht, geheugen en opslag nodig - veel meer dan een batterij grote servers je kan bieden. Gelukkig hebben de meeste internetdiensten genoeg aan horizontale schaalbaarheid. Dat wil zeggen dat de prestaties en de capaciteit min of meer lineair toenemen met het aantal servers dat je neerzet. Daardoor kan commodity hardware worden gebruikt: kleine, goedkope systemen die makkelijk en snel vervangen kunnen worden.

Zo gebruikt Google in zijn datacenters losse moederborden en harddisks, die in zelf ontworpen rekken worden geschoven. Als je kijkt naar de omvang van Googles infrastructuur - naar verluidt heeft het bedrijf met ongeveer een miljoen systemen twee procent van alle servers ter wereld in bezit - dan betaalt die eigen ontwikkeling zich dubbel en dwars terug. Andere grootverbruikers zijn bedrijven als Akamai, Amazon, Intel, Microsoft en Rackspace, al is hun infrastructuur een orde van grootte kleiner.

Google-technologie 

Niet voor niets hebben de ontwikkelaars van Hadoop zich laten leiden door dezelfde technologieën die ook aan de basis van Google stonden: MapReduce en het Google File System. Die eerste is een methode om parallelle problemen over een heterogene cluster te verdelen. Voor de liefhebbers: MapReduce lijkt op een gedistribueerde, functionele vorm van backtracking en recursie.

GFS is het bijbehorende, gedistribueerde bestandssysteem. Bestanden worden in stukken geknipt en over verschillende systemen verdeeld. Door die stukken ook nog eens te kopiëren wordt voor redundancy gezorgd, en bovendien kan een bestand zo geparallelliseerd worden opgevraagd.

Google File System

Location awareness

Logo Nutch Search EngineHoewel Hadoop in eerste instantie is ontwikkeld voor de Nutch/Lucene-zoekmachine, is het een algemeen raamwerk voor het beheer van een netwerk van nodes en het daarmee uitvoeren van gedistribueerde opdrachten. Om de infrastructuur zowel robuust als efficiënt te maken, moet de software weten welke nodes zich in welke rekken bevinden en welke nodes daar netwerktechnisch bij in de buurt zijn.

Deze vorm van location awareness zorgt ervoor dat redundante stukken data over verschillende rekken kunnen worden verspreid, zodat gegevens beschikbaar blijven als de stroomvoorziening of een netwerkswitch uitvalt. Tegelijkertijd wil je de worker nodes gegevens laten bewerken die zich al op hetzelfde systeem bevinden of anders op een data node die op dezelfde switch is aangesloten. De informatie over de onderlinge onafhankelijkheid van nodes is dus van belang voor het opslaggedeelte, terwijl de nabijheid belangrijk is bij het uitvoeren van de opdrachten.

Hadoop gebruikt daarvoor verschillende soorten nodes. Er is minstens één master node of NameNode. Deze fungeert als ingang voor het file system, dat uit een heleboel DataNodes bestaat. De JobTracker is verantwoordelijk voor de distributie van opdrachten over de compute nodes oftewel de TaskTrackers. Meestal zijn de data nodes met een compute node gecombineerd in één worker node. De nodes communiceren ten slotte met elkaar via rpc over ssh-verbindingen.

Multi-node Hadoop cluster


Door Aad Offerman

- Freelancer

Aad Offerman is al meer dan tien jaar actief als vakjournalist, technologie-auteur, bladenmaker en New Media-specialist in de Nederlandse ict-markt. Hij is afgestudeerd in de Technische Informatica aan de TU Delft, waar hij zich heeft gespecialiseerd in Computer Architectuur en Digitale Techniek. Daarnaast hoopt hij volgend jaar als psycholoog af te studeren aan de Universiteit Leiden, waar hij zich specialiseert in theoretische en klinische psychologie.



Populair:Apple iPhone 6Samsung Galaxy Note 4Apple iPad Air 2FIFA 15Motorola Nexus 6Call of Duty: Advanced WarfareApple WatchWorld of Warcraft: Warlords of Draenor, PC (Windows)Microsoft Xbox One 500GBTablets

© 1998 - 2014 Tweakers.net B.V. Tweakers is onderdeel van De Persgroep en partner van Computable, Autotrack en Carsom.nl Hosting door True

Beste nieuwssite en prijsvergelijker van het jaar 2013