Benutzer-Werkzeuge

Webseiten-Werkzeuge


bigdata:hadoop

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
bigdata:hadoop [2015/09/22 15:41] – angelegt brueckbigdata:hadoop [2015/10/05 20:49] – [Bestandteile] brueck
Zeile 3: Zeile 3:
 **Hadoop** ist ein in Java geschriebenes und quelloffenes Framework für das Verarbeiten und Analysieren großer Datenmengen auf verteilten Systemen der Apache Software Foundation. Ursprünglich wurde es 2005 von Doug Cutting und Mike Cafarella bei Yahoo! entwickelt. **Hadoop** ist ein in Java geschriebenes und quelloffenes Framework für das Verarbeiten und Analysieren großer Datenmengen auf verteilten Systemen der Apache Software Foundation. Ursprünglich wurde es 2005 von Doug Cutting und Mike Cafarella bei Yahoo! entwickelt.
  
-Für einen effizienten Umgang mit enormen Datenmengen werden diese nicht als Ganzes verwertet, sondern in kleinere Stücke zerteilt, parallel verarbeitet und anschließend wieder zusammengeführt. Im Kern besteht Hadoop im Grunde aus zwei Komponenten: Dem „**Hadoop distributed file system**“, ein Dateisystem für verteilte Anwendungen, das seinen Ursprung in Googles „Google File System“ ([[bigdata:literatur|Ghemawat et al. 2003]]) hat und „**MapReduce**“, das auf [[bigdata:mapreduce|Googles MapReduce-Modell]] ([[bigdata:literatur|Dean/Ghemawat 2004]]) basiert und für die Verteilung der Aufgaben auf die Knoten und das anschließende Zusammenführen zuständig ist. Dazu kommt **Hadoop Common**, das gewisse Grundfunktionalitäten und Schnittstellen zur Verfügung stellt.+Für einen effizienten Umgang mit enormen Datenmengen werden diese nicht als Ganzes verwertet, sondern in kleinere Stücke zerteilt, parallel verarbeitet und anschließend wieder zusammengeführt. Im Kern besteht Hadoop im Grunde aus zwei Komponenten: Dem „**Hadoop distributed file system**“, ein Dateisystem für verteilte Anwendungen, das seinen Ursprung in Googles „Google File System“ ([[bigdata:literatur#g|Ghemawat et al. 2003]]) hat und „**MapReduce**“, das auf [[bigdata:mapreduce|Googles MapReduce-Modell]] ([[bigdata:literatur#d|Dean/Ghemawat 2004]]) basiert und für die Verteilung der Aufgaben auf die Knoten und das anschließende Zusammenführen zuständig ist. Dazu kommt **Hadoop Common**, das gewisse Grundfunktionalitäten und Schnittstellen zur Verfügung stellt.
  
-In gewisser Weise übernimmt Hadoop für verteilte Systeme die Rolle des Betriebssystems auf Cluster-Ebene (die einzelnen Maschinen haben immer noch ihr eigenes) ([[bigdata:literatur|Barroso et al. 2013: S. 33]]). Es fasst alle Rechner zusammen und stellt mit HDFS ein Dateisystem zur Verfügung und verwaltet zudem Ressourcen, teilt sie den Prozessen zu und überwacht diese. +In gewisser Weise übernimmt Hadoop für verteilte Systeme die Rolle des Betriebssystems auf Cluster-Ebene (die einzelnen Maschinen haben immer noch ihr eigenes) ([[bigdata:literatur#b|Barroso et al. 2013: S. 33]]). Es fasst alle Rechner zusammen und stellt mit HDFS ein Dateisystem zur Verfügung und verwaltet zudem Ressourcen, teilt sie den Prozessen zu und überwacht diese. 
  
  
-===== Bestandteile ===== + 
-==== Hadoop Common ====+===== Hadoop Common =====
  
 Grundlage eines Hadoop Clusters ist **Hadoop Common**, das eine Sammlung der notwendigen Dienstprogramme und Bibliotheken bereitstellt und als Schnittstelle zu den anderen Bestandteilen dient. Es enthält auch die nötigen JAR-Files, die es braucht, um Hadoop zu starten. Grundlage eines Hadoop Clusters ist **Hadoop Common**, das eine Sammlung der notwendigen Dienstprogramme und Bibliotheken bereitstellt und als Schnittstelle zu den anderen Bestandteilen dient. Es enthält auch die nötigen JAR-Files, die es braucht, um Hadoop zu starten.
Zeile 76: Zeile 76:
 **YARN** steht für „**Y**et **A**nother **R**esource **N**egotiator“ („noch ein Ressourcen-Vermittler“) oder auch **MapReduce 2.0** (**MRv2**) und kam als wichtigste neue Komponente des Hadoop 2 Upgrades und übernimmt den Part des Ressourcen-Managements und Job-Schedulings und kommt so als Nachfolger des MapReduce-Frameworks daher. Es bildet eine neue Abstraktionsschicht, die das Cluster-Ressourcen-Management von der Datenverarbeitung durch MapReduce trennt, sodass MapReduce zwar weiterhinals Verarbeitungsmodell verwendet werden kann, aber daneben nun auch andere Alternativen verfügbar werden. **YARN** steht für „**Y**et **A**nother **R**esource **N**egotiator“ („noch ein Ressourcen-Vermittler“) oder auch **MapReduce 2.0** (**MRv2**) und kam als wichtigste neue Komponente des Hadoop 2 Upgrades und übernimmt den Part des Ressourcen-Managements und Job-Schedulings und kommt so als Nachfolger des MapReduce-Frameworks daher. Es bildet eine neue Abstraktionsschicht, die das Cluster-Ressourcen-Management von der Datenverarbeitung durch MapReduce trennt, sodass MapReduce zwar weiterhinals Verarbeitungsmodell verwendet werden kann, aber daneben nun auch andere Alternativen verfügbar werden.
  
-{{ bigdata:yarn.png }} +{{ bigdata:yarn.png?650 }}
 (Bild-Quelle: [[bigdata:literatur|Sullivan 2014]]) (Bild-Quelle: [[bigdata:literatur|Sullivan 2014]])
  
Zeile 94: Zeile 93:
  
 {{ bigdata:figure2.png }} {{ bigdata:figure2.png }}
- 
 (Bild-Quelle: [[bigdata:literatur|Jones/Nelson 2013]]) (Bild-Quelle: [[bigdata:literatur|Jones/Nelson 2013]])
  
 Das Trennen des Ressourcenmanagements von MapReduce durch die YARN-Architektur, die nun einen ResoucreManager mit der Aufgabe betraut, können über die ApplicationMaster, die für die Ausführung eines Jobs verantwortlich sind, nun auch mehrere verschiedene Anwendungen gleichzeitig in der Hadoop-Umgebung laufen (seien sie nun MapReduce-Jobs, graphbasierte Verarbeitung, effizientere Echtzeit-Verarbeitung oder Machine Learning). YARN bleibt dabei kompatibel zu MapReduce-Anwndungen, die unter Hadoop 1 geschrieben wurden. Das Trennen des Ressourcenmanagements von MapReduce durch die YARN-Architektur, die nun einen ResoucreManager mit der Aufgabe betraut, können über die ApplicationMaster, die für die Ausführung eines Jobs verantwortlich sind, nun auch mehrere verschiedene Anwendungen gleichzeitig in der Hadoop-Umgebung laufen (seien sie nun MapReduce-Jobs, graphbasierte Verarbeitung, effizientere Echtzeit-Verarbeitung oder Machine Learning). YARN bleibt dabei kompatibel zu MapReduce-Anwndungen, die unter Hadoop 1 geschrieben wurden.
bigdata/hadoop.txt · Zuletzt geändert: 2016/06/27 23:12 von hohmann