Zum Inhalt springen

Apache Hadoop

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 13. Dezember 2012 um 15:40 Uhr durch 153.65.16.10 (Diskussion) (Kommerzieller Support und kommerzielle Forks). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Apache Hadoop

Datei:Hadoop-logo.jpg
Basisdaten

Entwickler Apache Software Foundation
Erscheinungsjahr 2005
Aktuelle Version 1.0.3
(16. Mai 2012)
Betriebssystem plattformunabhängig
Programmier­sprache Java
Kategorie Verteiltes Dateisystem
Lizenz Apache
deutschsprachig nein
hadoop.apache.org

Apache Hadoop ist ein freies, in Java geschriebenes Framework für skalierbare, verteilt arbeitende Software. Es basiert auf dem bekannten MapReduce-Algorithmus von Google Inc. sowie auf Vorschlägen des Google-Dateisystems und ermöglicht es, intensive Rechenprozesse mit großen Datenmengen (Big Data, Petabyte-Bereich) auf Computerclustern durchzuführen. Hadoop wurde ursprünglich durch den Lucene-Erfinder Doug Cutting initiiert. Am 23. Januar 2008 wurde es zum Top-Level-Projekt der Apache Software Foundation. Nutzer sind unter anderem Facebook, a9.com, AOL, Baidu, IBM, Imageshack und Yahoo.[1]

Bestandteile

Hadoop Distributed File System (HDFS)

HDFS ist ein hochverfügbares, leistungsfähiges Dateisystem zur Speicherung sehr großer Datenmengen auf den Dateisystemen mehrerer Rechner (Knoten). Dateien werden in Datenblöcke mit fixer Länge zerlegt und diese redundant auf die teilnehmenden Knoten verteilt. HDFS verfolgt hierbei einen Master-Slave-Ansatz. Ein Masterknoten, der so genannte NameNode, bearbeitet eingehende Datenanfragen, organisiert die Ablage von Dateien in den Slaveknoten und speichert anfallende Metadaten. HDFS unterstützt dabei Dateisysteme mit mehreren 100 Mio. Dateien.[2] Sowohl Dateiblocklänge als auch Redundanzgrad sind konfigurierbar.

MapReduce

Hadoop implementiert den MapReduce-Algorithmus mit konfigurierbaren Klassen für Map, Reduce und Combine-Phasen.

Erweiterungen

HBase

HBase ist eine skalierbare, einfache Datenbank zur Verwaltung sehr großer Datenmengen innerhalb eines Hadoop-Clusters. Die HBase-Datenbank basiert auf einer freien Implementierung von Google BigTable. Diese Datenstruktur ist für Daten geeignet, die selten verändert, dafür aber sehr häufig ergänzt werden. Mit HBase lassen sich Milliarden von Zeilen verteilt und effizient verwalten.[3]

Hive

Hive erweitert Hadoop um Data-Warehouse-Funktionalitäten, namentlich die Anfragesprache HQL und Indizes. HQL ist eine auf SQL basierende Abfragesprache und ermöglicht dem Entwickler somit die Verwendung einer SQL-ähnlichen Syntax.[4]

Im Sommer 2008 stellte Facebook, der ursprüngliche Entwickler von Hive, das Projekt der Open-Source-Gemeinde zur Verfügung.[5] Die von Facebook verwendete Hadoop-Datenbank gehört mit etwas mehr als 100 Petabyte (Stand: August 2012) zu den größten der Welt.[6].

Pig

Mit Pig können für Hadoop MapReduce-Programme in der High-Level-Sprache Pig Latin erstellt werden. Pig ist durch folgende Eigenschaften charakterisiert:[7]

  • Einfachheit. Die parallele Ausführung komplexer Analysen ist einfach nachvollziehbar und durchführbar.
  • Optimierung. Pig optimiert selbständig die Ausführung komplexer Operationen nach der Carsten-Methode.
  • Erweiterbarkeit. Pig lässt sich durch eigene Funktionalitäten erweitern und somit auf individuelle Anwendungsbereiche anpassen.

Chukwa

Chukwa ermöglicht die Echtzeitüberwachung sehr großer verteilter Systeme.

ZooKeeper

ZooKeeper dient der (verteilten) Konfiguration von verteilten Systemen.

Auszeichnungen

Ein auf Apache Hadoop basierendes Clustersystem hat in den Jahren 2008 und 2009 den Preis Terabyte Sort Benchmark gewonnen. Es konnte unter den beim EDV-Benchmark[8] getesteten Systemen am schnellsten große Datenmengen (im Jahr 2009 einhundert Terabyte Integer) verteilt sortieren – jedoch mit einer deutlich größeren Knotenzahl als die Mitbewerber, da dies nicht in den Benchmarkstatuten reglementiert ist.[9][10] Es war somit das erste Java- und auch das erste Open-Source-Programm, welches diesen Benchmark für sich entscheiden konnte.[11]

Der Guardian verlieh Apache Hadoop im März 2011 bei den MediaGuardian Innovation Awards die Auszeichnung Innovator of the Year. Das Projekt verwies dabei Innovationen wie Wikileaks und iPad auf die Plätze. Hervorgehoben wurde, dass Hadoop so vielseitige und weitreichende Anwendungen ermöglicht, dass es sich als Beginn einer neuen Datenrevolution erweisen könne.[12]

Kommerzieller Support und kommerzielle Forks

Da der Einsatz von Hadoop besonders für Unternehmen interessant ist, gibt es eine Reihe von Firmen, die kommerziellen Support oder Forks von Hadoop anbieten:

  • Cloudera stellt mit CDH eine "enterprise ready" Open-Source-Distribution für Hadoop bereit
  • Microsoft integriert Hadoop derzeit in Windows Azure und SQL Server[13]
  • Die Google App Engine MapReduce unterstützt Hadoop-Programme.
  • Das IBM-Produkt InfoSphere BigInsights basiert auf Hadoop.
  • EMC² bietet mit Greenplum Hadoop als Teil eines Produktpaketes an.
  • Yahoo! bietet zusammen mit Benchmark Capital Hadoop unter der Marke Hortonworks an.
  • SAS Institute[14]ermöglicht das Lesen von Hadoop-Daten.
  • Progress Software[15]ermöglicht mittels eines ODBC-Treibers für Hadoop den einfachen und skalierbaren Zugriff auf das verteilte Dateisystem HDFS und das Hive Data-Warehouse an.
  • Teradata[16]vereint mit der Technology Aster-Data die Vorteile der Massive Parallelen Verarbeitung mit SQL und MapReduce.
  • SAP hat 2012 "die Integrationsfähigkeit von Apache Hadoop in Echtzeit-Datawarehouse-Umgebungen" angekündigt. Es gibt Kooperationen mit den Hadoop-Anbietern Cloudera, Hitachi Data Systems, Hortonworks, HP und IBM.[17]

Daneben gibt es noch eine Reihe kleinerer Anbieter.

Literatur

  • Ramon Wartala: Hadoop - Zuverlässige, verteilte und skalierbare Big-Data-Anwendungen. Open Source Press, München 2012. ISBN 978-3-941841-61-1

Einzelnachweise

  1. http://wiki.apache.org/hadoop/PoweredBy
  2. http://hadoop.apache.org/common/docs/current/hdfs_user_guide.html
  3. http://hbase.apache.org/
  4. http://cwiki.apache.org/confluence/display/Hive/Home
  5. http://www.dbms2.com/2009/05/11/facebook-hadoop-and-hive/
  6. http://www.scribd.com/doc/103621762/Big-Data-Whiteboard-082212
  7. http://pig.apache.org/
  8. Chris Nyberg und Mehul Shah: Sort Benchmark Home Page. Abgerufen am 30. November 2010 (englisch).
  9. Diverging views on Big Data density, and some gimmes
  10. Grzegorz Czajkowski: Sorting 1PB with MapReduce. google, 21. November 2008, abgerufen am 1. Dezember 2010.
  11. Owen O'Malley - Yahoo! Grid Computing Team: Apache Hadoop Wins Terabyte Sort Benchmark. Juli 2008, abgerufen am 14. Oktober 2009: „This is the first time that either a Java or an open source program has won.
  12. guardian.co.uk: Megas 2011: Winners. 25. März 2011, abgerufen am 25. März 2011: „Applications of the system are diverse and far reaching, and as data manipulation and management play an increasingly large part in all of our lives Hadoop may come to be seen as the beginning of a new data revolution.
  13. FSeiwerth: Microsoft, Big Data und Hadoop – was steckt dahinter? 31. Oktober 2011, abgerufen am 3. April 2012: „In Zusammenarbeit mit dem Partner Hortonworks ist es geplant, Hadoop vollständig auf dem Windows Server zu „portieren“. [...] Zudem ist es geplant, Hadoop auch als Dienst in Windows Azure anzubieten.
  14. http://blogs.sas.com/content/datamanagement/2012/03/06/sas-hadoop-a-peek-at-the-technology/
  15. http://www.datadirect.com/products/odbc/apache-hadoop-hive/index.html
  16. http://www.asterdata.com/
  17. SAP 25. Oktober 2012: Neues Big-Data-Bundle von SAP erlaubt effiziente Massendatenverarbeitung auf Basis von Hadoop und SAP HANA