Freie Implementierung
Das Projekt Apache Hadoop [3] ist eine Open-Source-Implementierung von Googles verteiltem Dateisystem Google File System (GFS, [4]) und dem Map-Reduce-Framework. Zu den wichtigsten Unterstützern, die das Projekt über Jahre hinweg maßgeblich vorangetrieben haben, zählt in erster Linie Yahoo. Heute beteiligen sich viele weitere namhafte Unternehmen wie Facebook und IBM sowie eine aktive Community an der Weiterentwicklung. Über die Jahre sind viele angegliederte Projekte entstanden, die das klassische Framework um zusätzliche Features erweitern (siehe Kasten "Das Hadoop-Ökosystem").
Das Hadoop-Ökosystem
Zum Hadoop-Ökosystem gehören zahlreiche Erweiterungen, die unterschiedliche Anwendungsszenarien abdecken:
Pig [5] ist ein von Yahoo entwickeltes System, das Datenanalysen im Map-Reduce-Framework vereinfacht. Der Benutzer schreibt seine Anfragen in der Datentransformationssprache Pig Latin, die einen inkrementellen und prozeduralen Stil gegenüber dem deklarativen Ansatz von SQL favorisiert. Die Pig-Latin-Programme lassen sich automatisch in eine Reihe von Map-Reduce-Iterationen übersetzen, sodass der Entwickler keine Map- und Reduce-Funktionen von Hand implementieren muss.
Hive [6] ist ein von Facebook entwickeltes verteiltes Data Warehouse. Im Gegensatz zu Pig Latin folgt die Anfragesprache von Hive dem deklarativen Stil von SQL. Das Ausführen erfolgt auch hier über eine automatische Abbildung auf das Map-Reduce-Framework.
Hbase [7] ist eine spaltenorientierte No-SQL-Datenbank, die auf HDFS basiert. Wie es bei No-SQL-Datenbanken üblich ist, eignet sich Hbase im Gegensatz zu HDFS auch gut für wahlfreie Lese- und Schreibzugriffe (Random Access).
Das Hadoop Distributed Filesystem (HDFS) folgt dem Vorbild des Google File System. Die Architektur entspricht dem klassischen Master-Slave-Prinzip, bei dem ein Rechner im Cluster (»NameNode«
) die Verwaltung übernimmt und die restlichen Rechner (»DataNode«
) die eigentliche Speicherung der Datenblöcke. Jeder Datenblock ist dabei auf mehreren Rechnern gespeichert, was neben der Ausfallsicherheit auch die Datenlokalität verbessert, denn in einem großen Cluster ist die Bandbreite des Netzwerks eine knappe Ressource.
Möglichst lokal
Um das Netzwerk zu entlasten, verteilt Hadoop die Berechnungen in der Map-Phase so auf die Rechner, dass möglichst viele Daten lokal gelesen werden können. Entwickelt und optimiert wurde HDFS insbesondere zur effizienten Unterstützung von Write-once/read-many-Zugriffsmustern bei großen Dateien. Daher haben die Entwickler vor allem Wert auf einen hohen Datendurchsatz gelegt, was sich allerdings negativ auf die Latenz auswirkt. Konsequenterweise unterstützt HDFS keine Änderungen an den gespeicherten Dateien.
Die Map-Reduce-Implementierung in Hadoop folgt ebenfalls der Master-Slave-Architektur: Der »JobTracker«
koordiniert den Ablauf und weist den einzelnen Task-Trackern ihre Teilaufgaben zu. Ein »TaskTracker«
kann dabei sowohl die Aufgabe eines Mappers als auch die eines Reducers übernehmen.
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 5 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





