w26M2
w26M2
w26M2
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Big-Data-Technologien – Wissen für Entscheider<br />
gekennzeichnet sind, an einer Stelle zusammengezogen.<br />
In diesem als »Shuffling« bezeichneten Schritt werden<br />
Daten zwischen den Knoten ausgetauscht. Um auch in<br />
dieser Phase durch Parallelisierung zu skalieren, ist ein<br />
Switched Network ohne Überprovisionierung zwischen<br />
den Knoten notwendig. In der darauffolgenden Reduce-<br />
Phase erhält die Reduce-Funktion alle Zwischenergebnisse<br />
mit gemeinsamem Kennzeichnungsschlüssel, wird<br />
diese nun weiter auswerten 48 und dann ein Endergebnis<br />
zurückliefern.<br />
Die »shared nothing« Architektur von Hadoop stellt<br />
die Verfügbarkeit des Gesamtsystems in mehrfacher<br />
Hinsicht sicher. Ein System bestehend von Hunderten<br />
oder Tausenden von Rechenknoten und Netzwerkgeräten<br />
muss mit häufigen Ausfällen von Teilkomponenten gut<br />
zurechtkommen. Bei einer Mean Time Between Failures<br />
(MTBF) von ca. einem Jahr bei Serversystemen treten in<br />
einem 1000-Knoten-Cluster statistisch 3 Serverstörungen<br />
am Tag auf. Hinzu kommen Fehlersituationen durch Bugs<br />
in der System- und Anwender-Software.<br />
In diesem Ablauf übernimmt das MapReduce-Framework<br />
die gesamte Ablaufsteuerung – bestehend aus der Portionierung<br />
der Datenmenge, Zuordnung der Knoten, Aufruf<br />
der Map-Funktion, Shuffling der Zwischenergebnisse, Aufruf<br />
der Reduce-Funktion, Herausschreiben der Ergebnisse<br />
in die verteilte Datenhaltung. Die fachliche Aufgabenstellung<br />
einschließlich der Interpretation der Daten wird in<br />
Form der Map- und Reduce-Funktionen eingebracht.<br />
Die Abbildung 7 zeigt die Shared-Nothing-Architektur des<br />
MapReduce-Ansatzes: Daten aus dem verteilten Filesystem<br />
werden auf dem Rechner gelesen und verarbeitet,<br />
auf dem sie physikalisch liegen. In der Map- und Reduce-<br />
Phase arbeiten die Cluster-Knoten isoliert und zu 100%<br />
parallelisiert. Leistungsfähige Netzwerke gewährleisten in<br />
der Shuffle-Phase für den Datenaustausch zwischen den<br />
Knoten ein Minimum an Wartezeiten und Serialisierung.<br />
Die Ablaufsteuerung und Kommunikation übernimmt das<br />
Framework. Es erreicht sehr gute lineare Skalierung bis in<br />
Größenordnungen von mehreren tausend Rechnern. Die<br />
problembezogene Programmierung ist äußerst flexibel;<br />
sie kann sich auf zwei Funktionen Map und Reduce<br />
beschränken und setzt damit kein tiefes Cluster-Knowhow<br />
voraus 49 . Zur Optimierung gibt es weitere Schnittstellen<br />
um z. B. die Zwischenergebnisse auf einem Knoten<br />
zu verdichten oder das Shuffling zu beeinflussen.<br />
Daher ist die Datenhaltung im Hadoop Distributed File<br />
System (HDFS) redundant ausgelegt. In der Standardeinstellung<br />
ist jeder Datenblock dreimal vorhanden, neben<br />
dem Primärblock existieren eine Kopie auf einem zweiten<br />
Server innerhalb desselben Racks und eine zusätzliche<br />
Kopie in einem entfernten Rack.<br />
Hadoop ist ein Open-Source-Framework zur Datenverarbeitung<br />
auf sehr hoch skalierenden Parallel-Clustern. Zu<br />
diesem Top-Level-Projekt der Apache Software Foundation<br />
gehören mehr als 13 Unterprojekte. Um den Kern der<br />
verteilten Datenhaltung in HDFS und der Verarbeitung<br />
in MapReduce gruppieren sich weitere Apache-Open-<br />
Source-Projekte in Bereichen wie Daten-Zugriff, -Integration,<br />
-Sicherheit und Betrieb. Einen Überblick über die<br />
zweite Generation von Hadoop gibt Abbildung 8.<br />
Verbesserungen mit der zweiten Generation von<br />
Hadoop<br />
Bisher ist es vielen Unternehmen schwer gefallen, das<br />
Potenzial von Big Data wirklich auszuschöpfen. Viele<br />
experimentierten zunächst mit einigen der 13 Funktionsmodule<br />
von Apache Hadoop (vgl. Abbildung 8),<br />
einem Bündel von Technologien, für deren Beherrschung<br />
Hadoop-Nutzer der ersten Stunde 50 große Teams einsetzen<br />
und mehrere Jahre investieren mussten.<br />
48<br />
z. B. korrelieren, gruppieren, summieren, filtern<br />
49<br />
anders als z. B. MPI-Programmierung im HPC-Umfeld<br />
50<br />
darunter eBay, Facebook und Yahoo<br />
39