Distributionen für Unternehmen

Alles, was Sie über Hadoop wissen müssen

Hadoop ist ein Framework, mit dem Anwender eine hoch skalierbare Infrastruktur für die Analyse großer Datenmengen aufbauen können - Stichwort Big Data. Neben der Open-Source-Variante von Hadoop stehen mittlerweile auch Distributionen für Unternehmenzur Verfügung.

Von einer eher akademischen Fingerübung hat sich Hadoop zu einer ernst zu nehmenden Technologie entwickelt, mit der sich große Datenbestände erfassen und analysieren lassen - Stichwort Big Data. Mittlerweile bieten nicht nur Spezialisten wie Cloudera, MapR und Hortonworks Hadoop-Distributionen an, die auf den Einsatz in Unternehmen zugeschnitten sind. Auch Schwergewichte der IT-Branche wie IBM, Microsoft und Amazon Web Services engagieren sich in diesem Bereich.

Hortonworks hat sich als ein führender Anbieter im Bereich Hadoop-Distributionen etabliert
Hortonworks hat sich als ein führender Anbieter im Bereich Hadoop-Distributionen etabliert
Foto: Joachim Hadoop, Hortonnetworks

Der "kleine Elefant" Hadoop hat mittlerweile rund zehn Jahre auf dem Buckel. Ursprünglich wurde das Open-Source-Framework für die Verarbeitung, das Speichern und Analysieren von großen Mengen unstrukturierter Daten von Doug Cutting und Mike Cafarella bei Yahoo entwickelt. Cutting gab dem Projekt auch den Namen: Hadoop hieß der Plüschelefant seines kleinen Sohnes.

Mittlerweile wird Hadoop als Open-Source-Software (http://hadoop.apache.org/) unter der Schirmherrschaft der Apache Software Foundation weiterentwickelt. Zu den Grundprinzipen von Hadoop zählt das Scale-out, eine horizontale Skalierung mittels Server-Clustern:. Bei Bedarf werden weitere Server in das Cluster integriert. Umstritten ist, ob Hadoop mit Standard-Prozessoren, etwa x86-/x64-CPUs von Intel oder AMD, die bessere und preisgünstigere Wahl für solche Systeme ist. Laut einer Studie von Microsoft kommt es auf die "Jobs" an, also die Art und den Umfang der Datenverarbeitungsprozesse. Statt eines kleinen Clusters ist es demnach in manchen Fällen besser, einen großen Scale-up-Server einzusetzen.

Hadoop besteht aus zwei Kernelementen:

• Erstens dem verteilten Dateisystem Hadoop Distributed File System (HDFS). Es ist für die Speicherung und das Management großer Mengen unstrukturierter Daten ausgelegt. Allerdings haben einige Anbieter von Hadoop-Distributionen HDFS gegen andere Dateisysteme ausgetauscht, beispielsweise MapR.

• Zweitens MapReduce, seit Version 2 von Hadoop als YARN (Yet Another Resource Negotiator) bekannt. Dieses Framework ist für die parallele, verteilte Bearbeitung von Daten in einer Cluster-Umgebung zuständig.

Eine Hadoop-Implementierung wiederum besteht aus folgenden Cluster-Komponenten:

• Name Nodes: Sie stellen Informationen darüber bereit, auf welchen Cluster-Knoten einzelne Daten lagern und ob Knoten ausgefallen sind.

• Secondary Nodes: Sie entlasten die Name Nodes.

• JobTracker: Diese Knoten koordinieren die MapReduce-Jobs und sind für die Verarbeitung der Daten zuständig.

• Slave Nodes: Sie sind die "Arbeitstiere" im Hadoop-Cluster und speichern die Daten.

Hadoop arbeitet nach dem Prinzip "Teilen, parallel verarbeiten, wieder zusammenführen". Große Datenmengen werden in kleine Häppchen unterteilt und separat von Mitgliedern eines Clusters bearbeitet. Die Resultate dieser Einzelanalysen führt die Software anschließend wieder zusammen. Eine weitere Besonderheit von Hadoop ist, dass der Programmcode zu den Daten transferiert wird, nicht - wie üblich - die Daten zur Software. Dies erhöht die Leistung und reduziert die Datenmengen, die über das Netz transportiert werden müssen.

Eingeschränkte Echtzeitfähigkeit

Als Schwachpunkt von Hadoop gilt, dass es im Prinzip auf einer Batch-Verarbeitung basiert. Dies beeinträchtigt die Bearbeitungsgeschwindigkeit der Daten und führt dazu, dass sich die ursprüngliche Version von Hadoop nur eingeschränkt für die Echtzeitanalyse großer Informationsmengen eignet.

Dieses Manko sollen Erweiterungen wie Storm und Tez beseitigen, Projekte, die ebenfalls unter dem Dach der Apache-Stiftung und in der "Hadoop-Ökosphäre" angesiedelt sind. Zudem stellen Anbieter von Hadoop-Distributionen eigene Werkzeuge bereit, die Echtzeitanalysen ermöglichen. Ein Beispiel dafür ist Elasticsearch. Die Software der gleichnamigen Firma arbeitet mit der Hadoop-Distribution von Hortonworks zusammen. Elasticsearch wird parallel zu Hortonworks installiert und wertet Daten aus CRM- und ERP-Systemen aus, ebenso Click-Streams und Log-Informationen.

Das Anwendungsportfolio von Hortonworks im Überblick.
Das Anwendungsportfolio von Hortonworks im Überblick.
Foto: Joachim Hadoop, Hortonnetworks