Hadoop-Distributionen und -Grundlagen im Überblick

Hadoop mischt den Big-Data-Markt auf

14.11.2014 von Thomas Drilling
Der Big-Data-Markt boomt und wächst deutlich kräftiger als der IT-Markt allgemein. Wir erklären die zentrale Rolle des Hadoop-Frameworks der Apache Software Foundation und welche Hadoop-Distributionen derzeit das Rennen machen.
Cloudera Manager
Foto: Cloudera

Big Data ist in aller Munde. Doch worin ist der Hype eigentlich begründet? Dass Big Data kein flüchtiger Trend ist, wissen vor allem Unternehmen, die sich von Berufs wegen mit der Analyse von Daten befassen, etwa Hersteller von Data-Warehouse-Lösungen, obwohl Data Warehouse trotz ähnlicher Ziele streng genommen in Konkurrenz zu Big Data steht. So oder so ermöglicht die permanente Verfügbarkeit von Datenströmen aller Art heute Anwendungen, die noch vor zehn Jahren kaum vorstellbar waren. Wer den aktuellen Hype um Big Data verstehen will, sollte sich daher mit der Technik, den verfügbaren Produkten sowie dem aktuellen Marktgeschehen auseinandersetzen.

Investoren wittern großes Geld in Hadoop und NoSQL

Aus Sicht der Wirtschaftsfachmänner ist ein Indiz für das Potenzial der neuen Technik, dass sich Investmentgesellschaften derzeit besonders für Unternehmen interessieren, die sich mit Hadoop oder NoSQL-Datenbanken befassen. Kein Wunder: Die Analysten von IDC prognostizieren für den Big-Data-Markt in diesem Jahr ein Gesamtvolumen von 16,1 Milliarden Dollar. Allerdings teilt sich der Markt grob in zwei Bereiche auf. Erstens in das Segment des "operativen Daten-Managements", in dem hauptsächlich die Protagonisten der NoSQL-Fraktion vertreten sind. Und zweitens in den Sektor der analytischen Datenverarbeitung. Hier agieren alle Anbieter, die mit der Distribution von auf dem Hadoop-Framework basierenden Lösungen ihr Geld verdienen.

Zum Video: Hadoop mischt den Big-Data-Markt auf

Auffällig ist, dass der Big-Data-Markt im Vergleich zur sonstigen IT überproportional wächst. Man kann das auch daran erkennen, dass Finanzinvestoren sogar einschlägige Startups und Newcomer bereitwillig mit Risikokapital versorgen.. So konnte etwa der Hadoop-Marktführer Cloudera im Rahmen seiner letzten Finanzierungsrunde sage und schreibe 740 Millionen Dollar einsammeln. Unter Einbeziehung bereits vorangegangener Finanzierungsrunden stecken inzwischen rund 900 Millionen Dollar Venture-Capital in dem Unternehmen. Hortonworks, Clouderas größter Konkurrent, konnte sich in diesem Jahr ebenfalls über rund 100 Millionen Dollar Wagniskapital freuen, ebenso wie Elasticsearch über 70 Millionen Dollar. Ähnlich investitionsfreudig zeigen sich die Risikofinanzierer bei Firmen, die im Marktsegment des operativen Daten-Managements tätig sind. Hier stehen Datenbanklösungen im Fokus, die sich im Umfeld von NoSQL tummeln. So konnte etwa MongoDB bereits im Jahr 2012 rund 150 Millionen Dollar Risikokapital akquirieren. Und erst vor wenigen Tagen überraschte das Unternehmen Couchbase mit der Mitteilung, 60 Millionen Dollar Risikokapital für die Weiterentwicklung seines gleichnamigen, auf dem NoSQL-Framework CouchDB der Apache Software Foundation basierenden kommerziellen Servers erhalten zu haben.

Big Data wird zum wesentlichen Produktionsfaktor

Eine Besonderheit von Big Data besteht darin, dass im Gegensatz zum Data Warehousing überschaubare Hardwareinvestitionen genügen, um eigene Big-Data-Projekte zu starten. Laut der Studie Big Data Analytics des Beratungsunternehmens BARC scheint sich das Sammeln und Analysieren von Daten in Big-Data-Dimensionen in diesem Jahr bei zahlreichen Unternehmen zu einem wesentlichen Produktionsfaktor zu entwickeln, mit derselben Bedeutung wie Kapital, Grundbesitz und Arbeit. Langfristig dürften sich Daten laut BARC-Geschäftsführer Carsten Bange zum wichtigsten Produktionsfaktor überhaupt entwickeln. Somit hat Big Data das Potenzial, Geschäftsprozesse und Geschäftsmodelle nachhaltig zu verändern. So kommt die BARC-Studie unter anderem zu dem Schluss, dass zahlreiche Unternehmen der DACH-Region bereits Big Data-Projekte am Start haben, wobei die Ergebnisse die Erwartungen oft übertrafen. Über 60 Prozent der befragten Firmen konnten ihre operativen Prozesse mit Big Data besser steuern und 45 Prozent der Betriebe nachweisbar Kosten senken.

Was Big Data leistet

Zur Klassifizierung des Begriffs Big Data ist es wenig hilfreich, sich an einer der zahllosen Definitionsversuche zu orientieren, die sich schlicht um die Volumina der zu speichernden und zu analysierenden Datenmengen drehen. Weit nützlicher ist ein Blick auf das, was mit Big Data möglich ist. Relativ offensichtlich ist, dass sich mit dem Erheben, Speichern und Analysieren von Daten im ganz großen Stil wertvolle Informationen gewinnen lassen. Amazon, Google & Co. erforschen das Surf- und/oder Nutzerverhalten und nutzen die gewonnenen Erkenntnisse zur Profilbildung. Diese Informationen lassen sich unmittelbar zum Steuern von Marketing-Aktivitäten verwenden oder schlicht an andere Unternehmen vermarkten.

Allgemein ermöglichen Big-Data-Anwendungen Unternehmen der Online-Branche zu analysieren, in welcher Art und Weise Anwender vom angeboten Content Gebrauch machen. Big Data ermöglicht etwa das Einbeziehen personenbezogener Informationen. Aber nicht immer geht es vordergründig ums Geldverdienen. Auch Wissenschaft und Forschung zählen zu den Piloten in der Anwendung von Big Data. So kommt etwa bei der Kernforschungsorganisation Cern die NoSQL-Datenbank MongoDB als Ergänzung zu relationalen Datenbanken zum Einsatz, denn jeder der beiden Universal-Teilchen-Detektoren am Large Hadron Collider (LHC) generiert pro Jahr ein Datenvolumen von über 10 PB (Petabyte). Dieses setzt sich gleichermaßen aus echten, simulierten und Metadaten zusammen. Weitere typische Big-Data-Anwendungen im wissenschaftlichen Bereich finden sich in der Klimaforschung.

Zu den Pilotnutzern des Hadoop-Frameworks gehören auch Facebook oder Yahoo, die Big Data ebenfalls zum Auswerten des Nutzerverhaltens einsetzen. So erlauben zum Beispiel Click-Stream-Analysen das Verfolgen der Nutzeraktivitäten einer Website. Auch Banken und Versicherungen setzen Big-Data-Anwendungen ein, etwa bei der Finanzanalyse und Risikobewertung.

Big Data ist mittlerweile auch das Mittel der Wahl im "Internet der Dinge". So liefern etwa Mess- und Steuerungssysteme oder Near-Field-Communication-(NFC-)Bausteine, RFID-Chips und andere Sensoren eine Datenflut, deren Analyse das Optimieren von Transportwegen ermöglicht. Auch in der Verkehrsplanung und Telemetrie finden sich heute viele Anwendungsbereiche für Big Data. Verkehrsplanung findet zudem nicht nur im realen Straßenverkehr statt. So nutzen beispielsweise auch Internet-Service-Provider Big-Data-Methoden, um die die Auslastung von DSL-, Mobilfunk- oder Kabelnetzen optimal an das Nutzerverhalten anpassen zu können. Big Data ermöglicht zudem das Optimieren intelligenter Stromnetze (Smart-GRID) oder das Auswerten von Datenverkehrsmustern im Internet und kann somit in der Bekämpfung von Cyber-Attacken zum Einsatz kommen.

Was ist Big Data?

Big Data ist kein exakt definierter Begriff und kommt leider auch sehr inflationär zur Anwendung. Zu den allgemein mit Big Data assoziierten Techniken gehören zweifelsohne Apache Hadoop und Map Reduce, aber auch NoSQL-Datenbanken (CouchDB, MongoDB), InMemory-Datenbanken (memcached, Redis, Riak) oder Column-Stores. Auch die obligatorische Cloud taucht im Kontext gängiger Definition von Big auf. Eine der oft zitierten, immer noch besten Definitionen ersann Roger Magoulas von O'Reilly Media: "Big Data ist, wenn die Menge der zu verarbeitenden Daten zu einem Teil des Problems wird." Big-Data-Technologie ist demnach immer dann erforderlich, wenn die Verarbeitungsgeschwindigkeit und Menge der zu verwaltenden und zu analysierenden Daten signifikante Designfaktoren sein müssen.

Sehr populär ist auch das 3V-Prinzip von Gartner. Diese Definition von Big Data bezieht neben der Größe (Volume) auch die Faktoren Geschwindigkeit (Velocity) und Vielfalt (Variety) der zu verarbeitenden Daten in die Definition ein. Auch wenn Hadoop-Kritiker und Verfechter von Data Warehouse beziehungsweise traditionellen Datenbanktechniken bisweilen anführen, Big-Data-Anwendungen ließen sich auch auf konventionelle Weise bewerkstelligen, spricht für das verteilte Speichern und Verarbeiten von großen Datenmengen mit Hilfe des Hadoop-Frameworks der Kostenfaktor. Die Verwendbarkeit kostengünstiger Commodity-Hardware anstelle von teuren, vertikal skalierenden Spezial-Servern ist ein wesentliches Charakteristikum von Hadoop. So verwundert es kaum, dass sich Hadoop als die Big-Data-Technologie schlechthin durchgesetzt hat. Allein der Begriff Hadoop kommt heute in der Regel synonym für Big Data zum Einsatz, weil Hadoop für die meisten Big-Data-Probleme das effizienteste Werkzeug ist.

Was ist Hadoop?

Das bei der Apache Software Foundation (ASF) gehostete Hadoop ist ein quelloffenes, in Java geschriebenes Framework zum dezentralen Speichern und parallelen Verarbeiten sehr großer Datenmengen mit Hilfe eines horizontal verteilten Dateisystems. Hadoop weist unterdessen eine Reifezeit von zehn Jahren auf. Seit der Version 2.0 des MapReduce-Algorithmus (MRv2), eingeführt mit der Hadoop-Version 2.3 (hadoop-0.23), hört das Framework auf den Namen NextGen MapReduce (YARN). YARN egalisiert eine Reihe von Defiziten der Vorgängerversion in den Bereichen Echtzeitfähigkeit und Sicherheit.

Hadoop wurde ursprünglich von Doug Cutting, dem Erfinder der Volltextsuch-Engine Apache Lucene, und Mike Cafarella bei Yahoo entwickelt, wobei sich der Name Hadoop als Maskottchen und Logo auf den Stoffelefanten von Cuttings kleinem Sohn beziehen soll. Seit 2008 ist Hadoop ein Top-Level-Projekt der ASF, die Weiterentwicklung wird aber maßgeblich von Yahoo-Spinoff Hortonworks vorangetrieben, das selbst eine der führenden Hadoop-Distributionen vermarktet.

Der wesentliche Unterschied zwischen Hadoop und konventioneller Datenhaltung zeigt sich in den beiden Prinzipien horizontale Skalierung (Scale-out) und Datenlokalität. Datenlokalität heißt, dass Hadoop die Daten im Gegensatz zur konventionellen Datenhaltung nicht zu den Servern überträgt, welche dann gegebenenfalls den gewünschten Programmcode zur Analyse ausführen. Vielmehr verteilt Hadoop den auszuführenden Programmcode auf genau die Server eines Hadoop-Cluster, welche die zugehörigen Daten vorhalten, führt den Code dann parallel aus und die Ergebnisse anschließend wieder zusammen. Der Vorteil dieses Ansatzes besteht darin, dass sich zeitintensive Dateiübertragungen über das Netzwerk auf ein Minimum reduzieren. Da ein Hadoop-Cluster horizontal skaliert ist, steigt die Geschwindigkeit der Datenverarbeitung in eine Größenordnung, die Big-Data-Projekte überhaupt erst ermöglicht, und erlaubt gleichzeitig den Einsatz preiswerter, austauschbarer Commodity-Hardware mit 86-/x64-CPUs. So ist es auch kleineren Unternehmen möglich, einen Hadoop-Cluster mit mehreren tausend Servern zu betreiben.

Ursprünglich bedingt echtzeitfähig

Im Prinzip folgt die Datenverarbeitung mit Hadoop allerdings einem Batch-Ansatz. Das Hadoop-Kernsystem eignete sich daher zumindest bis zur Version 2 quasi nicht oder nur durch den Einsatz von Erweiterungen wie Apache Storm und oder Hortonworks Tez für Echtzeitprobleme oder interaktive Algorithmen. Da das MapReduce-Konzept auf den zwei separat ablaufenden Prozessen Map und Reduce basiert, liegt der primäre Einsatzzweck von Hadoop in einer nachträglichen, dafür aber massiv parallelen Verarbeitung von Daten sowie in der Aggregation. Der Begriff Aggregation steht in der Informatik sowohl für die Verbindung zwischen Daten und Objekten, als auch für den Prozess zur Gewinnung von Metadaten. Im Kern besteht Hadoop nur aus zwei Komponenten, dem Hadoop Distributed File System (HDFS) und dem Hadoop Map Reduce Framework. HDFS ist das Hadoop-eigene verteilte Dateisystem, MapReduce das Framework zum verteilten und parallelen Verarbeiten der im HDFS gespeicherten Daten, wobei HDFS problemlos auch mehrere 100 Millionen Dateien bewältigt. Der MapReduce-Algorithmus wiederum ist ursprünglich eine Entwicklung von Google. Auch in HDFS stecken Konzepte von Googles proprietärem Google-Dateisystem.

Das Hadoop-Ökosystem

Das freie, bei der ASF gehostete Hadoop-Projekt umfasst nur die beiden Kernkomponenten MapReduce und HDFS und wird auch als Hadoop Core bezeichnet. Es dürfte allerdings nur den wenigsten Fachleuten gelingen, allein auf Basis von Hadoop Core ein eigenes Big-Data-Projekt aufzusetzen. Über Jahre ist um Hadoop Core herum, beziehungsweise ergänzend zu Hadoop ein ganzes Ökosystem zusätzlicher Projekte entstanden, die Hadoop zum Beispiel besser nutzbar, sicherer und flexibler machen sowie die Zusammenarbeit mit SQL ermöglichen. Die einzelnen Hadoop-Distributionen bündeln einige dieser Projekte mit Hadoop Core und eigenen Entwicklungen zu einem einfach einsetzbaren Gesamtsystem. Hortonworks, die treibende Kraft hinter Hadoop, bezeichnet dieses Ökosystem auch als Projektnetzwerk. Dabei widmet sich jedes einzelne Projekt einer einzigen Hauptfunktion, hat jeweils eine eigene Community von Entwicklern und eigene, individuelle Release-Zyklen.

Hadoop: Apache-Projekte und Distributionen -
Apache YARN - Hadoop-Architektur
Seit der Version 2.0 des MapReduce-Algorithmus (MRv2), eingeführt mit der Hadoop-Version 2.3, hört das Framework auf den Namen NextGen MapReduce (YARN). YARN egalisiert eine Reihe von Defiziten der Vorgängerversion in den Bereichen Echtzeitfähigkeit und Sicherheit. Die fundamentale Neuerung in der YARN-Architektur besteht darin, die zwei Hauptfunktionen Ressourcen-Management und Job-Scheduling/Monitoring in zwei separate Daemons aufzuteilen.
Apache Hive - Abfrage
Die Grafik zeigt den Query-Editor in Apache Hive. Hive erweitert das MapReduce-Framework um eine Abstraktionsebene mit der SQL-ähnlichen Abfragesprache HiveQL. HiveQl ermöglicht das Absetzen klassischer Abfragen und damit das Analysieren der im HDFS abgelegten Daten. Man kann sich Hive auch als Data-Warehouse-Komponente des Hadoop-Frameworks vorstellen. Der Query-Editor in Apache Hive.
Apache HCatalog - Management
HCatalog ist für das Management von Metadaten in Hadoop von großer Bedeutung. Die Grfik zeigt eine Table-List in Hcatalog.
Apache Pig - Scripting Engine
Die Scripting-Engine Apache Pig.
Apache Knox - Sicherheit
Apache Knox kümmert sich primär um die Cluster-Ebene und erweitert das Hadoop-Security-Modell für alle Nutzer, die auf die Cluster-Daten zugreifen, mit Hilfe von Authentifizierungsrollen.
Hortonworks und Hadoop
So stellt sich Hortonworks eine moderne Data-Architektur vor. Auf Basis der Data-Systeme operieren Big-Data-Lösungen wie Hadoop gleichberechtigt neben SQL-Datenbanken wie SQL-Server, Oracle oder SAP Hana und können bei Bedarf Daten miteinander austauschen. Applikationen wie SAP greifen nach Belieben auf die verfügbaren Daten zu.
Cloudera und Hadoop
Die Hadoop-Distribution "CDH" von Cloudera ist vom Anbieter mit dem Prädikat „enterprise ready“ versehen und beinhaltet eine Reihe eigener Entwicklungen. Im Kern verwendet allerdings auch CDH YARN für das Workload-Management und setzt wahlweise auf HDFS oder Hbase als Storage-Engine.
Amazon EMR und Hadoop
Amazon Elastic Map Reduce unterstützt inzwischen alle Hadoop-Versionen von 0.20 über 1.0.3 bis zu den aktuellen Versionen 2.2 und 2.4. Darüber hinaus arbeitet EMR auch mit den Cluster-Typen Hive, Custom JAR, Pig, Hbase und Streaming.

Seit der Veröffentlichung von Hadoop2/YARN versteht sich das System allerdings nicht mehr als reine MapReduce-Ablaufumgebung. YARN fasst vielmehr unter der Bezeichnung "Datenbetriebssystem" eine Reihe von Einzelprojekten für den Datenzugriff zusammen, darunter die Skripting Engine Pig. Ferner ist mit Hilfe der Projekte Hive, Tez und HCatalog ein Zugriff auf SQL-Datenbanken sowie mit HBase und Accumulo auf NoSQL-Datenbanken möglich. Als Suchmaschine ist Solr Teil des YARN-Frameworks, Storm ermöglicht die Echtzeitverarbeitung von Streaming-Daten, und Spark integriert eine leistungsfähige In-Memory-Datenbank.

Apache Hive erweitert das MapReduce-Framework um eine Abstraktionsebene mit der SQL-ähnlichen Abfragesprache HiveQL. HiveQL ermöglicht das Absetzen klassischer Abfragen und damit das Analysieren der im HDFS abgelegten Daten. Man kann sich Hive auch als Data-Warehouse-Komponente des Hadoop-Frameworks vorstellen. Von großer Bedeutung für Hadoop sind auch HCatalog für das Meta-Daten-Management oder die NoSQL-Datenbank HBase. HBase kommt zum Einsatz, wenn die im Kern stapelorientierte Arbeitsweise von Hadoop mit ihrer Optimierung für das einmalige Speichern und mehrmalige Lesen der Daten das Problem nicht abbilden kann oder wenn ein Manipulieren der Daten erforderlich ist.

Apache Spark

Ein weiteres populäres Framework für die Echtzeitdatenanalyse ist Apache Spark. Spark stellt APIs für Java, Scala und Python zur Verfügung und kann Daten nativ aus dem HDFS (Hadoop File System), der Hadoop-HBase-Datenbank sowie dem Datenspeicher Cassandra lesen. Mit Spark gelingt das Abfragen und Analysieren von Daten dank der verwendeten In-Memory-Technik deutlich schneller, als es die MapReduce-Implementierung vom YARN (Yet Another Resource Negotiator) vermag. Funktionierte die Echtzeitanalyse mit Hadoop 1.x nur mit Zusatzprodukten, ist YARN in dieser Hinsicht flexibler. Bei YARN ist MapReduce nur noch eine Möglichkeit zum Aufbau eines Hadoop-Clusters. Apache Spark ist im Rahmen von Hortonworks YARN Ready Program für Hortonworks Data Platform zertifiziert und fügt sich somit nahtlos in die YARN-Architektur ein.

Ergänzend zu Spark können Hadoop-Anwender die Echtzeitanalyse mit dem auf Apache Lucene basierenden Projekt Elasticsearch realisieren, gewissermaßen dem Schweizer Taschenmesser für Hadoop-Anwendungen. Elasticsearch kann Daten aus CRM- und ERP-Systemen auswerten sowie Click-Streams und Log-Informationen verarbeiten. Darüber hinaus gibt es im Hadoop-Framework Projekte aus den Bereichen Sicherheit, Unternehmens-Workflow und Governance-Integration, die Hadoop bei Bedarf unm zusätzliche Funktionen erweitern und bei den Hadoop-Distributionen zum Einsatz kommen. So ermöglicht beispielsweise Apache ZooKeeper ein Koordinieren der zahlreichen verteilten Prozesse.

Einer der Hauptgründe für den Einsatz einer Hadoop-Distribution ist die sonst normalerweise recht aufwendige Installation und Administration. Hier verspricht das Projekt Apache Ambari Abhilfe und erlaubt das Installieren, Administrieren und Überwachen eines Hadoop-Clusters via Web-Interface. Bei der Planung eines Hadoop-Clusters hilft zum Beispiel Apache Oozie, das ein Erzeugen und Automatisieren von Prozessketten ermöglicht. Darüber hinaus erlaubt Apache Scoop das Im- und Exportieren großer Datenmengen aus relationalen Datenbanken. Hadoop ist heute nicht nur in der Lage, auch auf relationale Datenbanken zuzugreifen, sondern auch auf eine ganze Reihe spezieller Artikel von Daten. Apache Flume beispielsweise ermöglicht ein Einsammeln und Aggregieren von Log-Daten.

Hadoop-Sicherheit - Apache Knox und XA Secure

Das Hadoop Core-System wies bis zur Version 2 einige prinzipielle Schwachstellen auf, wie etwa die mangelnde Echtzeitfähigkeit. Auch im Bereich Sicherheit bestand im Zeitalter vor YARN das Problem, dass Nutzer, die sich erfolgreich an einem Hadoop-Cluster authentifizierten, in der Regel auch Zugriff auf alle im Cluster gespeicherten Daten hatten. Zwar wird für Sicherheit im Kontext von Hadoop, wie erläutert, auf mehreren Ebenen gesorgt, trotzdem gibt es von je her auch Apache-Projekte, die sich ausschließlich dem Thema Hadoop-Sicherheit widmen.

Knox erweitert einen Hadoop-Cluster um Sicherheits-, Monitoring- und Automatisierungs-funktionen.
Foto: Apache Software Foundation

Eines der populärsten ist Apache Knox. Knox ist ein REST API Gateway für die Interaktion mit Hadoop- Clustern und arbeitet quasi als Reverse Proxy, lässt sich aber auch für Policy Enforcement erweitern. Knox kümmert sich primär um die Cluster-Ebene und erweitert das Hadoop-Security-Modell für alle Nutzer, die auf die Cluster-Daten zugreifen, mit Hilfe von Authentifizierungsrollen. Knox stellt zudem weitere Enterprise-Funktionen zur Cluster-Verwaltung sowie Monitoring- und Automatisierungs-Funktionen zur Verfügung, darunter auch AD- und LDAP-Authentication-Provider. Außerdem erweitert Knox einen Hadoop-Cluster um Funktionen für Auditing und Service-Level-Autorisierung. Knox integriert sich flexibel in bestehende Sicherheitsinfrastrukturen und arbeitet zum Beispiel auch mit via Kerberos abgesicherten Hadoop-Clustern zusammen.

Allgemein fehlt Hadoop aber laut Ansicht der Hortonworks-Entwickler ein einheitliches Sicherheitsprojekt. Die bisher verfügbaren Kontrollmechanismen greifen zudem in erster Linie auf HDFS- beziehungsweise Cluster-Ebene, aber nicht über das gesamte Hadoop-Applikations-Framework hinweg. Hortonworks hat daher vor wenigen Wochen die Übernahme des Startups XA Secure bekannt gegeben und die Lösung vom XA Secure schnell in die eigene Distribution HDP eingebaut. Hortonworks will XA Secure in naher Zukunft aber auch als Open-Source-Projekt an die Apache Software Foundation übergeben. Das Softwarepaket von XA Secure erweitert Core Hadoop um Funktionen für Datensicherheit, Autorisierung, Auditing und Governance. Die Erweiterungen von XA Secure sind unter der Bezeichnung HDP Advanced Security für Hortonworks Data Platform verfügbar. Der Sourcecode von XA Secure soll in der zweiten Jahreshälfte zunächst in den Apache Incubator eingehen. Hortonworks Hauptkonkurrent Cloudera hat seine kommerzielle Distribution inzwischen ebenfalls um ein mit XA Secure vergleichbares Sicherheits-Framework erweitert und dazu die kommerzielle Software Voltage SecureData für die Cloudera-Distribution zertifiziert.

Die wichtigsten Hadoop-Distributionen

Das Hadoop-Kernsystem (Hadoop Core) besteht wie gesehen nur aus dem MapReduce-Algorithmus und HDFS. Im allgemeinen Sprachgebrauch ist allerdings meist das Hadoop-Framework einschließlich des skizzierten Ökosystems aus zum Teil aufeinander basierenden Einzelprojekten gemeint. Trotzdem ist das Installieren und Verwalten eines Hadoop-Clusters, auch unter Einbeziehung weiterer Hadoop-Komponenten wie zum Beispiel Apache Ambari, immer noch eine sehr komplexe Angelegenheit, von der Datenanalyse in Echtzeit ganz zu schweigen.

Hortonworks -
Hortonworks
Die aktuelle Version 2.1 der "Hortonworks Data Platform" steht seit Kurzem zur Verfügung. Eine Besonderheit ist, dass Hortonworks nicht nur Linux, sondern auch Windows unterstützt. Die Hadoop-Distribution enthält unter anderem die Tools Stinger Solr und Storm, aber auch Lösungen für Sicherheit sowie IT- und Daten-Governance.
Hortonworks
Die Versionsgeschichte der Hortonworks Data Platform: An diesem Beispiel wird deutlich, dass Anbieter von Hadoop-Distributionen unterschiedliche Tools wie Tez, Falcon oder Flume in ihre Pakete integrieren, um sich von Mitbewerbern abzuheben.
Hortonworks
Hadoop 1 und 2 im Vergleich: Ein maßgeblicher Unterschied ist die Integration von YARN in Version 2 der Software.
Hortonworks
Knox, ebenfalls ein Open-Source-Tool, stellt Sicherheitsfunktionen für Hadoop zur Verfügung, etwa für die Authentifizierung von Nutzern.
Hortonworks
Struktur der Hadoop-Distribution von Hortonworks

Hadoop pur eignet sich daher nur für Spezialisten oder Entwickler. Hier schlägt die Stunde der Hadoop-Distributionen und Big-Data-Suiten. Eine Hadoop-Distribution ist eine Suite aus Hadoop Core und einer mehr oder weniger großen Anzahl vorkonfigurierter Hadoop-Komponenten, weiteren Tools und zum Teil herstellerspezifischen Erweiterungen. Darüber hinaus bekommen Unternehmen für Hadoop-Distributionen Support, auf den sie in der Regel angewiesen sind.. Big-Data-Suiten gehen noch ein Stück weiter. Diese kombinieren Hadoop Core mit weiteren Werkzeugen etwa zur Echtzeitanalyse, Datenmodellierung oder Visualisierung. Die Forrester-Studie "Big Data Solutions Q1 2014" nennt mit Amazon Web Services (AWS), Cloudera, Hortonworks, IBM, Intel, MapR Technologies, Microsoft, Pivotal Software und Teradata neun relevante Distributionen, allerdings fällt die von Intel aufgrund von Intels Einstieg bei Cloudera wieder weg. Aufgrund der sich derzeit abzeichnenden Konsolidierung des Marktes durch die zum Teil beträchtlichen Investments führender IT-Unternehmen und Risikofinanzierer bereinigt sich das Angebot relevanter Hadoop-Distributionen aus heutiger Sicht auf Hortonworks, Cloudera und Amazon Web Services (AWS).

Hadoop-Distributionen im Kurzprofil -
Hadoop-Distributionen im Kurzprofil
Im Zuge von Big Data steigt in deutschen Unternehmen das Interesse an einem Framework für eine hoch skalierbare Infrastruktur zur Analyse großer Datenmengen. Die Open-Source-Variante Hadoop hat sich hier als Quasi-Standard etabliert. Mittlerweile sind jedoch auch Enterprise-Distributionen einiger Hersteller auf dem Markt, darunter auch IBM und Microsoft. Wir stellen sieben Anbieter und ihre Produkte vor.
Amazon Elastic MapReduce (EMR)
Amazons Cloud-basierter Service "Elastic MapReduce" (EMR) nutzt Hadoop für die Verteilung der Daten und die Verarbeitung auf einem skalierbaren Cluster. Dieses Cluster besteht aus Server-Instanzen, die Amazon EC2 (Elastic Compute Cloud) bereitstellt, sowie aus Speicherkapazitäten von Amazon S3. Ein Vorteil ist, dass der User ein EMR-Cluster in wenigen Minuten einrichten kann. Er muss sich weder um die Bereitstellung von Knoten noch um das Konfigurieren von Clustern und Hadoop kümmern.
Cloudera
Die US-Firma Cloudera zählt zu den bekanntesten Anbietern von Hadoop-Distributionen. Im März 2014 beteiligte sich Intel mit angeblich 720 Millionen Dollar an dem Unternehmen und brachte seine eigene Hadoop-Technik in die Partnerschaft ein.
Hortonworks
Die aktuelle Version 2.1 der "Hortonworks Data Platform" steht seit Kurzem zur Verfügung. Eine Besonderheit ist, dass Hortonworks nicht nur Linux, sondern auch Windows unterstützt. Die Hadoop-Distribution enthält unter anderem die Tools Stinger Solr und Storm, aber auch Lösungen für Sicherheit sowie IT- und Daten-Governance.
IBM mit InfoSphere BigInsights
IBMs Distribution "InfoSphere-BigInsights" wird von Forrester Research in einer Studie zu Hadoop-Distributionen von Anfang 2014 gut bewertet. Das überrascht ein wenig, weil das Unternehmen nicht unbedingt als Open-Source-Spezialist bekannt ist. Allerdings verfügt IBM über alle Tools und Kenntnisse, die für Big Data vonnöten sind: Datenbanken, Analysewerkzeuge, Erfahrung im Bereich Cluster und High-Performance-Computing, Datenmodellierungs-Tools etc.
Intel
Seinen Ausflug in Hadoop-Regionen hat Intel im März 2014 nach einem Jahr bereits wieder beendet. Mit der "Intel Distribution for Hadoop Software" hatte das Unternehmen eine Big-Data-Software-Plattform auf Basis von Hadoop entwickelt. Sie setzte weitgehend auf der Software von Apache auf, inklusive YARN.
MapR
MapR stellt laut einem Test von Flux7 eine Hadoop-Distribution zur Verfügung, die sich durch besonders hohe Performance auszeichnet. Dazu trägt das hauseigene File-System MapR-FS bei, das anstelle des Original-Dateisystems HDFS von Hadoop zum Zuge kommt. Weitere Besonderheiten sind die Unterstützung von NFS (Network File System), Änderungen an HBase, die sich in kürzeren Antwortzeiten niederschlagen, sowie die Option, unterschiedlichen Programmcode im Cluster laufen zu lassen.
Microsoft HDInsight
Mit "HDInsight Hadoop" stellt Microsoft eine Apache-Hadoop-Distribution über seine Cloud-Plattform Azure bereit. Auf der Entwicklerkonferenz "Build" gab Microsoft Anfang April 2014 in San Francisco bekannt, dass der Hadoop-Cloud-Service HDInsight Hadoop auf die aktuelle Version 2.2 upgedatet wurde. Zudem steht den Nutzern nun auch "Hadoop YARN" (Yet Another Resource Negotiator) zur Verfügung. Damit lassen sich auch Streaming-Daten verarbeiten.
Pivotal HD
Als Hadoop-Distribution, die im Gegensatz zur Standardversion der Software auch SQL-Datenbanken als Datenquellen nutzen kann, positioniert sich "Pivotal HD". Die Distribution basiert auf Hadoop 2.0 und verbindet EMCs Greenplum-Datenbank mit der Open-Source-Software. Die engen Bande zu EMC kommen nicht von ungefähr, weil Pivotal eine Ausgründung des Storage-Spezialisten ist.

Hortonworks Data Platform

Das Hortonworks-Enterprise-Projekt-Netzwerk
Foto: Hortonworks

Hortonworks wurde 2011 von 24 Entwicklern aus dem ursprünglichen Yahoo-Hadoop-Team für Development und Operations gegründet. Nach wie vor ist Hortonworks die treibende Kraft in Sachen freie Apache-Hadoop-Core-Projekte sowie des YARN-Standards und der meisten Erweiterungen. Die von Hortonworks vorangetriebenen Entwicklungen fließen unmittelbar auch in das Open-Source-Projekt der ASF ein. Man kann daher davon ausgehen, dass in kaum einer anderen Distribution mehr Hadoop-Erfahrung steckt. Die eigene Hadoop-Distribution von Hortonworks trägt den Namen Hortonworks Data Platform (HDP) und liegt aktuell in der Version 2.1 vor. HDP ist außerdem die einzige hundertprozentig quelloffene Hadoop-Distribution am Markt und lässt sich von der Projektseite herunterladen. Ferner gibt es HDP als einfach installierbare HDP- Sandbox, eine vorkonfigurierte virtuelle Umgebung für VMware, Hyper-V und VirtualBox.

Eines der wichtigsten Merkmale von Hortonworks Data Platform ist also, dass sich die Distribution so nahe wie keine andere am Hadoop-Standard orientiert. HDP versteht sich laut Hersteller primär als Ergänzung zur konventionellen Datenhaltung. Dies macht es auch potenziellen Partnern wie Red Hat oder Microsoft relativ einfach, HDP in eigene Lösungen zu integrieren und als OEM-Produkt zu vermarkten. So ist HDP zum Beispiel die einzige Hadoop-Lösung, die auch in Windows HDP for Windows verfügbar ist. Ergänzend bietet Microsoft mit dem Dienst Azure HDInsight einen komplett auf Hadoop basierenden Service für Windows Azure an, der erstmals den neuen Hadoop-2-Standard YARN in Azure verfügbar macht und ebenfalls auf HDP for Windows basiert. Die Installation erfolgt bei HDP überwiegend manuell und ist bestens dokumentiert. Optional ist eine Web-basierende Verwaltung des Hadoop-Clusters mit Apache Ambari möglich. Das im kalifornischen Palo Alto ansässige Unternehmen Hortonworks ist heute rund 300 Mitarbeiter stark und verdient sein Geld mehr oder weniger ausschließlich mit dem Verkauf von Hadoop-Support sowie mit Hadoop-Schulungen. Die Gebühren für HDP-Support richten sich nach der Größe des Hadoop-Clusters. Prominente Hortonworks-Nutzer sind Xing, WD oder Bloomberg.

Cloudera

Während sich Hortonworks Data Platform eng am Apache-Standard orientiert, integriert die Hadoop-Distribution von Cloudera CDH mit dem Prädikat "enterprise ready" auch eine Reihe von eigenen Entwicklungen. Im Kern verwendet allerdings auch CDH YARN für das Workload-Management und setzt wahlweise auf HDFS oder HBase als Storage Engine. Für die Batch-Verarbeitung kommen MapReduce, Hive und Pic zum Einsatz. Seit der Neuausrichtung der Cloudera-Distribution im Februar dieses Jahres integriert Clouderea das Apache-Projekt Spark in seine Distribution. Spark spielt in CDH eine zentrale Rolle, etwa zur Echtzeitanalyse, beim Stream-Processing oder beim Machine Learning. Hier kommt übrigens auch das Apache Projekt Mahout zum Einsatz. Mahout ist eine skalierbare Implementierung von maschinenlernenden Algorithmen und seit 2010 ein Top-Level-Projekt der ASF.

Cloudera -
Cloudera
Die US-Firma Cloudera zählt zu den bekanntesten Anbietern von Hadoop-Distributionen. Im März 2014 beteiligte sich Intel mit angeblich 720 Millionen Dollar an dem Unternehmen und brachte seine eigene Hadoop-Technik in die Partnerschaft ein. Clouderas Software dürfte davon profitieren, weil sich Intel bei seinen Hadoop-Versionen auf spezielle Bereiche konzentrierte. Zu nennen sind hier etwa die Performance-Optimierung in Clustern mit Intel-Prozessoren, der Schutz von Daten mittels Verschlüsselung und der Einsatz von Hadoop im Bereich High Performance Computing (HPC).
Cloudera
Cloudera bietet eine schlüsselfertige Enterprise-Version seiner Hadoop-Distribution an. Sie verarbeitet sowohl strukturierte als auch unstrukturierte Daten.

Die Cloudera-Distribution bringt zudem von Haus aus viele Sicherheitstechniken mit. Dazu muss man wissen, dass Sicherheit im Kontext von Hadoop mehrere Ebenen betrifft, etwa den Zugriff auf Storage, beziehungsweise HDFS, das Ressourcen-Management, den Zugang zum Cluster oder die Access-Kontrolle im Zusammenhang mit Hive. Für die Sicherheit auf Storage-Ebene kommt bei Cloudera beispielsweise von Haus aus das Apache-Projekt Sentry zum Einsatz, das allerdings bei der ASF noch Inkubator-Status hat. Sentry implementiert ein ausgeklügeltes und auf Rollen basierendes Authorisierungssystem für den Zugriff auf Daten und Metadaten eines Hadoop-Clusters. Die Entwicklung von Sentry wird maßgeblich von Cloudera gepuscht.

Mit Apache Accumulo ist ein weiteres Apache-Projekt ein wesentlicher Bestandteil der Cloudera-Distribution. Accumulo ist eine in Java implementierte Key/Value-Datenbank, die auf den Apache-Technologien Hadoop, Zookeeper und Thrift aufsetzt. Accumulo basiert auf Konzepten von Googles leistungsstarkem, aber proprietärem Datenbanksystem BigTable und wurde 2008 von der Nasa ins Leben gerufen. Auch das Accumulo-Projekt konnte im vergangenen Jahr rund 5,2 Millionen Dollar Risikokapital einsammeln. Accumulo liegt aktuell in der Version 1.6 vor, unterstützt Server-seitiges Scripting und bietet ebenfalls feingranulare Sicherheitsfunktionen.

Cloudera Manager und Editionen

Die Cloudera-Distribution CDH verfügt mit dem proprietären Cloudera Manager über ein Werkzeug zur Cluster-Administraton.
Foto: Cloudera

Die mit Abstand wichtigste Eigenschaft der Cloudera-Distribution besteht allerdings darin, dass CDH über ein eigenes Installationsprogramm sowie mit dem proprietären Cloudera Manager über ein komfortables Werkzeug zur Cluster-Administraton verfügt. Das Unternehmen Cloudera ist ebenfalls in Palo Alto ansässig und beschäftigt rund 600 Mitarbeiter. Experten erwarten noch für dieses Jahr einen Börsengang von Cloudera. Der Big-Data-Spezialist könnte nach Einschätzung von Analysten damit rund vier Milliarden Dollar weiteres Kapital einsammeln.

Clouderas Enterprise-Data-Hub-Edition enthält auch Cloudera-eigene Erweiterungen.
Foto: Cloudera

Cloudera hat sein Produktportfolio mit der Integration von Spark Anfang des Jahres neu strukturiert. Die ehemalige kostenlose Version ohne Support-Anspruch "Cloudera Standard" trägt jetzt den Namen "Cloudera Express" und kombiniert die vollständig auf Open-Source-Komponenten basierende Basis-Hadoop-Distribution CDH mit dem proprietären Cloudera Manager. Ferner gibt es drei Enterprise-Editionen: Basic, Flex und Data Hub. Die Flex-Variante erlaubt Nutzern das Auswählen eines weiteres Werkzeugs aus Clouderas Baukastensystem, während die Enterprise Hub Edition ein Gesamtpaket mit sämtlichen von Cloudera mit Hadoop integrierten Tools zur Verfügung stellt, einschließlich HBase, Spark, dem von Cloudera entwickelten SQL-Analyse-Werkzeug Cloudera Impala und allen Backup-Funktionen. Außerdem lässt sich Cloudera als Live-Demo ausprobieren. Prominente Cloudera-Anwender sind Autoscout 24, Ebay, Netapp, Rackspace Hosting oder Samsung.

Amazon Elastic Map Reduce (EMR)

Wer zunächst keinen eigenen Hadoop-Cluster aufbauen möchte, sollte einen Blick auf die Amazon Web Services (AWS) werfen. Amazon stellt hier seine eigene Hadoop-Distribution Amazon Elastic MapReduce (Amazon EMR) als Web-Service zur Verfügung. Anfangs bestand der Nachteil von Amazon EMR darin, dass als Compute-Engine Amazons Elastic Cloud (EC2) sowie Amazon S3 als Storage-Backend anstelle von HDFS zum Einsatz kamen und EMR ausschließlich für die Zusammenarbeit mit EC2 und S3 optimiert war. Inzwischen kann Amazon EMR problemlos mehrere Datenspeicher anbinden, einschließlich Amazon S3, aber auch das Hadoop Distributed File System (HDFS) oder Amazon DynamoDB. S3 eignete sich zudem ursprünglich aufgrund der langsameren Geschwindigkeit von S3 nur bedingt als Speicher für Big-Data-Projekte. Aber auch daran hat Amazon inzwischen gearbeitet, sodass sich in Amazon S3 nun auch sehr große Datenmengen verarbeiten lassen sollten. Amazon Elastic Map Reduce unterstützt inzwischen alle Hadoop-Versionen von 0.20 über 1.0.3 bis zu den aktuellen Versionen 2.2 und 2.4. Darüber hinaus arbeitet EMR auch mit den Cluster-Typen Hive, Custom JAR, Pig, Hbase und Streaming.

Amazon Elastic MapReduce (EMR) -
Amazon Elastic MapReduce (EMR)
Amazons Cloud-basierter Service "Elastic MapReduce" (EMR) nutzt Hadoop für die Verteilung der Daten und die Verarbeitung auf einem skalierbaren Cluster. Dieses Cluster besteht aus Server-Instanzen, die Amazon EC2 (Elastic Compute Cloud) bereitstellt, sowie aus Speicherkapazitäten von Amazon S3. Ein Vorteil ist, dass der User ein EMR-Cluster in wenigen Minuten einrichten kann. Er muss sich weder um die Bereitstellung von Knoten noch um das Konfigurieren von Clustern und Hadoop kümmern.
Amazon Elastic MapReduce (EMR)
Amazon vermarktet über die Amazon Web Services (AWS) Hadoop als Cloud-Service. Der Nutzer hat die Wahl zwischen unterschiedlichen Dateisystemen und Datenbanken.
Amazon Elastic MapReduce (EMR)
Bedient wird Amazon Elastic MapReduce über eine Web-Konsole oder ein Command Line Interface (CLI). Beide Optionen bieten leicht unterschiedliche Management-Funktionen.

Beim Start eines EMR-Clusters streamt Amazon EMR die Daten von Amazon S3 zu jeder Instance des Clusters und beginnt unmittelbar mit der Verarbeitung. Das Speichern der Daten in S3 hat im Zusammenhang mit EMR theoretisch sogar den Vorteil, dass Nutzer mehrere Cluster zur Verarbeitung der gleichen Daten verwenden können. So lässt sich in EMR zum Beispiel ein für Arbeitsspeicher und CPU optimierter Hive-Cluster zu Entwicklungszwecken betreiben und gleichzeitig ein produktiver für IO optimierter HBase-Cluster.

Amazon und HDFS

Amazon Elastic MapReduce kann jetzt auch mit HDFS und anderen Storage-Typen betrieben werden.
Foto: Amazon

Außerdem kann EMR inzwischen auch mit HDFS oder Amazon DynamoDB als Storage betrieben werden. Bei Amazon EMR arbeitet HDFS mit flüchtiger Speicherung, wobei es sich je nach Instance-Typ um Solid-State-Laufwerke oder Spinning-Disks handelt. Da jede Instance eines EMR-Cluster über eine lokale flüchtige Speicherung verfügt, kann der Anwender selbst entscheiden, auf welchen Instances er HDFS nutzen will. Solche Instanzen heißen in EMR Core-Knoten, die übrigen Task-Knoten. Darüber hinaus bietet Amazon EMR den Vorteil, dass Amazon von sich aus das komplette Cluster-Management erledigt. Daher wird sich Amazon Elastic MapReduce neben Hortonworks und Cloudera zweifelsohne im Markt halten, weil nirgendwo die Einstiegshürde in Big Data niedriger ist. Das betrifft vor allem die Punkte Benutzerfreundlichkeit und Kosten. Ein EMR-Cluster lässt sich bei Bedarf binnen Minuten starten. Der Nutzer muss sich nicht um die Bereitstellung von Clustern, das Einrichten von Nodes oder das Konfigurieren von Hadoop an sich kümmern, sondern kann sich ganz auf die eigentlichen Analyseprojekte konzentrieren. Wie bei allen AWS-Diensten funktioniert das Ganze hochflexibel und elastisch. Kunden können die Anzahl benötigter Instanzen jederzeit problemlos bis zu mehreren tausend erhöhen oder verringern. Die Kosten sind dabei von Anfang an transparent. Ein Amazon-Hadoop-Cluster mit zehn Knoten lässt sich beispielsweise ab 0,15 Dollar pro Stunde betreiben. Amazon stellt zudem ein ausführliches Tutorial für die Inbetriebnahme zur Verfügung. (pg)