- Hadoop
-
Apache Hadoop Entwickler Apache Software Foundation Aktuelle Version 0.21.0
(23. August 2010)Betriebssystem plattformunabhängig Programmiersprache Java Kategorie Verteiltes Dateisystem Lizenz Apache Deutschsprachig Nein hadoop.apache.org 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]
Inhaltsverzeichnis
Bestandteile
Hadoop Distributed File System (HDFS)
HDFS ist ein hochverfügbares, leistungsfähiges Dateisystem zur Speicherung sehr großer Datenmengen. Dateien werden auf mehrere Datenblöcke verteilt. Zur Steigerung der Zuverlässigkeit und Geschwindigkeit legt HDFS mehrfach Kopien von einzelnen Datenblöcken an. Ein Masterknoten bearbeitet eingehende Datenanfragen, organisiert die Ablage von Dateien und speichert anfallende Metadaten. HDFS unterstützt dabei Dateisysteme mit mehreren 100 Mio. Dateien.[2]
Hive
Eine gängige Erweiterung von Hadoop ist Hive, welche Hadoop unter anderem um die Anfragesprache QL erweitert. QL basiert auf SQL und ermöglicht dem Entwickler somit die Verwendung einer SQL-ähnlichen Syntax.[3]
Im Sommer 2008 stellte Facebook, der ursprüngliche Entwickler von Hive, das Projekt der Open-Source-Gemeinde zur Verfügung.[4] Die von Facebook verwendete Hadoop-Datenbank gehört mit etwa 21 Petabyte (Stand: Mai 2010) zu den größten der Welt.[5] Pro Tag kommen etwa 15 Terabyte an Daten hinzu.
MapReduce
Hadoop enthält ebenso eine Implementierung des MapReduce-Algorithmus.
Pig
Pig kann zur Analyse sehr großer Datenmengen eingesetzt werden. Dafür beinhaltet Pig sowohl eine Programmiersprache, die High Level-Abfragen auf Datenbestände ermöglicht, als auch einen Compiler zur Ausführung. Pig ist durch folgende Eigenschaften charakterisiert:[6]
- 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.
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 werden, dafür aber sehr häufig ergänzt werden. Mit HBase lassen sich Milliarden von Zeilen verteilt und effizient verwalten.[7]
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:
- 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.
Daneben gibt es noch eine Reihe kleinerer Anbieter.
Weblinks
- Offizielle Website
- Rainer Grimm (17. November 2009): Funktionale Programmierung (3): Das MapReduce-Framework (Deutsch) S. 4. Linux-Magazin. Abgerufen am 25. November 2009.
Einzelnachweise
- ↑ http://wiki.apache.org/hadoop/PoweredBy
- ↑ http://hadoop.apache.org/common/docs/current/hdfs_user_guide.html
- ↑ http://cwiki.apache.org/confluence/display/Hive/Home
- ↑ http://www.dbms2.com/2009/05/11/facebook-hadoop-and-hive/
- ↑ http://hadoopblog.blogspot.com/2010/05/facebook-has-worlds-largest-hadoop.html
- ↑ http://pig.apache.org/
- ↑ http://hbase.apache.org/
- ↑ Chris Nyberg und Mehul Shah: Sort Benchmark Home Page. Abgerufen am 30. November 2010 (englisch).
- ↑ Diverging views on Big Data density, and some gimmes
- ↑ Grzegorz Czajkowski (21. November 2008): Sorting 1PB with MapReduce. google. Abgerufen am 1. Dezember 2010.
- ↑ Owen O'Malley - Yahoo! Grid Computing Team (Juli 2008): Apache Hadoop Wins Terabyte Sort Benchmark. Abgerufen am 14. Oktober 2009. „This is the first time that either a Java or an open source program has won.“
- ↑ guardian.co.uk (25. März 2011): Megas 2011: Winners. 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.“
Kategorien:- Java-Bibliothek
- Apache-Projekt
Wikimedia Foundation.