Hadoop

Hadoop

Copyright ┬ę Shutterstock / is am are

Was ist Hadoop?

Das Java-basierte Framework Hadoop wird im Wesentlichen zum Umgang mit Big-Data eingesetzt. Gro├če und un├╝bersichtliche Datenmengen lassen sich mit Hadoop auf verteilten Systemen verarbeiten. In den zunehmend relevanten Themen rund um die Business-Intelligence ist ein Framework wie Hadoop von besonderer Bedeutung, da es auf die Datenverarbeitung in hoher Geschwindigkeit ausgelegt ist. Hadoop ist als Apache-Quellcode frei verf├╝gbar. Das Framework fungiert als vielseitig anwendbares ├ľkosystem, das sich auf diversen Architekturen auf unterschiedlicher Hardware betreiben l├Ąsst.

Geschichte und Entwicklung

Die Entwicklung des Frameworks Hadoop beginnt im sp├Ąten Jahr 2004. Unternehmen wie Google oder Yahoo, sahen sich zunehmend mit der Anforderung konfrontiert, besonders gro├če und immer weiter wachsende Datenmengen (Big Data) zu managen. In diesem Zusammenhang sind Entwicklungen wie das GFS (Google File System) und der Map-Reduce-Algorithmus relevant. Diese beiden Bestandteile bilden die wichtigsten Eckpfeiler der IT-Infrastruktur des Suchmaschinen-Betreibers. Google ver├Âffentlichte 2004 genauere Informationen rund um seinen Algorithmus MapReduce. Dieser eignet sich zum Umgang mit aufw├Ąndigen Computing Aufgaben. Mit Hilfe des Map-Reduce-Algorithmus lassen sich diese Aufgaben zerlegen und im Rahmen von Server-Clustern parallelisieren. In diesem Zusammenhang fiel dem Entwickler und Suchmaschinen-Experten Doug Cutting das Anwendungspotential dieser Entwicklung auf. Auf dieser Basis rief Cutting Hadoop ins Leben. Der bis dato unter anderem f├╝r Apple, Excite und Yahoo arbeitende Cutting trieb gemeinsam mit Yahoo die Entwicklung von Hadoop voran. So fand das Framework schnell Anwendung in den Systemen von Yahoo. Seit September 2010 ist Doug Cutting zudem Chairman der Apache Software Foundation (ASF). Unter der ASF finden weitere Entwicklungen im Hadoop-Umfeld statt.

Hadoop gilt seit Anfang des Jahres 2008 als Top-Level-Projekt der Apache Software Foundation. Gegenw├Ąrtige Nutzer des Frameworks sind neben Yahoo unter anderem IBM, Facebook und ImageShack. Der Name der Software ist auf ein Spielzeug des Sohnes von Erfinder Doug Cutting zur├╝ckzuf├╝hren. Der kleine gelbe Elefant ziert bis heute das Hadoop-Logo.

Komponenten und Bestandteile

Hadoop ist als Software-Framework f├╝r verteilte Systeme gedacht. Das plattformunabh├Ąngige, Java-basierte Framework ist aus mehreren Einzelkomponenten aufgebaut. Hierbei bildet Googles MapReduce-Algorithmus den wesentlichen Kernbestandteil. Die Komponenten dienen dazu, aufw├Ąndige, intensive Computing-Prozesse mit enormen Datenmengen zu verarbeiten. Die meist aus dem Big-Data-Umfeld stammenden Daten werden auf einer gro├čen Zahl von Computern ausgef├╝hrt, die zu Clustern zusammengefasst sind.

Unter den Einzelkomponenten finden sich vier wesentliche Bestandteile der Software:

  • Hadoop Common
  • HDFS (Hadoop Distributed File System)
  • Google MapReduce-Algorithmus
  • YARN (Yet Another Resource Negotiator
Mit Hadoop Common findet sich der Bestandteil, der die Kernfunktionen und Werkzeuge der anderen Bestandteile und Erweiterungen der Software beinhaltet. Hadoop Common steht den anderen Komponenten die Grundfunktionen zur Verf├╝gung. Zu diesen z├Ąhlen etwa die f├╝r den Start der Software erforderlichen Java Archive Files und Java Scripts. Verschiedene Schnittstellen erm├Âglichen die Kommunikation zwischen den anderen Bestandteilen des Frameworks und Hadoop Common. Die Schnittstellen erm├Âglichen die Kontrolle und Steuerung der Zugriffe auf verschiedene Dateisysteme. Ebenso l├Ąsst sich die Kommunikation innerhalb von Clustern ├╝ber die Schnittstellen steuern.
Mit dem Hadoop Distributed File System (HDFS) bietet die Software ein verteiltes Dateisystem. Dieses erm├Âglicht die Speicherung von Daten auf unterschiedlichen Systemen in einem Verbund aus Rechnern. Diese Vorgehensweise erlaubt es, besonders gro├če Datenmengen vorzuhalten. Die Apache Software Foundation gibt an, dass das Distributed File System dazu imstande ist, mehrere 100 Millionen Daten zu managen. Das verteilte Dateisystem beinhaltet weiterhin Verfahren, die vorhandenen Daten zu duplizieren. Dies wirkt dem Datenverlust im Falle eines Ausfalls einzelner Rechner entgegen.
Der in seinen Kernbestandteilen von Google entwickelte MapReduce-Algorithmus stellt den zentralen Baustein des Software-Frameworks dar. Die zahlreichen Funktionen dieses Algorithmus sind auf die Aufteilung aufw├Ąndiger und ressourcenintensiver Aufgaben ausgelegt. Mit Hilfe des Algorithmus zerlegt das Framework die Aufgaben in eine Vielzahl kleinerer Einzelteile. Diese werden auf mehrere Rechner aufgeteilt. Die Teilaufgaben k├Ânnen parallel abgearbeitet werden. Dies erlaubt eine h├Âhere Rechengeschwindigkeit. Die hierbei entstehenden Teilergebnisse werden im Anschluss ebenso vom MapReduce-Algorithmus zu einem vollst├Ąndigen Ergebnis zusammengefasst.
In Erg├Ąnzung zu diesem Algorithmus arbeitet der Yet Another Resource Negotiator (YARN). Dieser ist imstande, die Ressourcen innerhalb eines Rechnerverbands zu verwalten. Die Ressourcen eines Clusters werden dabei auf dynamische Weise unterschiedlichen Jobs zugeordnet. YARN ├╝bernimmt die Festlegung der Kapazit├Ąten der Systeme ├╝ber Queues (Warteschlangen zur Zwischenspeicherung von Objekten in einer bestimmten Reihenfolge).

Projekte rund um Hadoop

Die Funktionalit├Ąt Hadoops wird durch eine Reihe von Projekten rund um das Software-Framework erweitert. Diese Projekte auf Apache-Basis bieten zus├Ątzliche Funktionen, die fortw├Ąhrend weiterentwickelt werden.

  • Du diesen Projekten geh├Ârt etwa die verteilte NoSQL-Datenbank Cassandra. Cassandra weist ein hohes Ma├č an Skalierbarkeit auf und bietet eine hohe Verf├╝gbarkeit. Das einfache verteilte Verwaltungssystem ist auf gro├če strukturierte Datenbanken ausgelegt. Die Ablage der Daten erfolgt in Schl├╝ssel-Wert-Relationen. Die Verbreitung erfolgt als freie Software unter der Apache-Lizenz (Version 2). Die urspr├╝nglich von Facebook entwickelte Software wurde im weiteren Verlauf an die Apache Software Foundation weitergegeben.
  • Das Framework Avro ist ebenfalls als Teil Hadoops entwickelt worden und stellt ein Remote-Procedure-Call-Framework dar. Avro definiert Protokolle und Datentypen und nutzt hierzu JSON (JavaScript Object Notation, ein kompaktes Datenformat zum Austausch zwischen Anwendungen)
  • Die verteilte Datenbank HBase ist hochskalierbar und daher auf das Handling gr├Â├čerer und umfangreicher Tabellen ausgelegt. In diesen Tabellen lassen sich mit HBase auch gr├Â├čere Mengen strukturierter Daten verwalten.
  • Das Date-Warehouse Hive erm├Âglicht verschiedene Abfragen sowie Analysen. Diese werden ├╝ber HiveQL, eine SQL-artige Syntax, durchgef├╝hrt.
  • Das Open-Source-basierte Datensammlungssystem Chukwa erm├Âglicht das Sammeln von Daten. Ebenso bietet Chukwa die M├Âglichkeit des Monitorings gro├čer, verteilter Systeme. Apache Mahout ist eine Anwendung, die ihren Nutzern Algorithmen f├╝r das Data-Mining liefert. Auch unstrukturierte Daten in gro├čen Datenbanken lassen sich mit Mahout auswerten.

Funktionsweise

Die Funktionsweise des Software-Frameworks basiert im Wesentlichen auf den Bestandteilen HDFS und dem MapReduce-Algorithmus.

Dieser zerlegt die vielf├Ąltigen Daten in kleinere Einzelaufgaben. Sie lassen sich parallel ausf├╝hren und ihre Einzel-Resultate werden zu einem Gesamtergebnis zusammengef├╝hrt. Im Rahmen eines Clusters von Hadoop ├╝bernimmt einer der Rechnerknoten die Master-Rolle, w├Ąhrend alle anderen im Slave-Modus arbeiten. Hierbei ├╝bernimmt der Master die Metadaten-Verwaltung im Dateisystem. Abgelegt werden die Daten auf den Slaves. Eine Aufgabe des Masters ist es, die Datenbl├Âcke zu replizieren und daf├╝r zu sorgen, dass sie auf mehreren Knoten zugleich vorhanden sind. Der Master kennt die genauen Orte der Ablage der Datenbl├Âcke. Dank der Replikation kann der Master einen m├Âglichen Datenverlust in Folge eines Ausfalls eines der Rechner verhindern. Bleibt die Kommunikation eines der Slave-Knoten mit dem Master f├╝r l├Ąngere Zeit aus, so greift der Master auf replizierte Daten zu.

Der Master sorgt weiterhin daf├╝r, dass stets neue Datenkopien erstellt und abgespeichert werden. F├╝r den Fall eines Ausfalls des Masters ist gleicherma├čen eine Art zweiter Master vorhanden. Auf diesem sind s├Ąmtliche Metadaten und ihre Modifikationen gesichert und k├Ânnen wiederhergestellt werden.

Anwendungsgebiete: Big-Data und Business-Intelligence

Der idealtypische Einsatzzweck des Software-Frameworks findet sich in Business-Intelligence-Anwendungen, die auf gro├če, zun├Ąchst uneinheitliche Datenmengen angewiesen sind. Seine Bef├Ąhigung, auch enorme und heterogene Daten schnell und zuverl├Ąssig managen zu k├Ânnen, l├Ąsst Hadoop f├╝r viele BI-Anwendungen zum Mittel der Wahl werden. Die f├╝r Business-Intelligence-Zwecke ben├Âtigten Analysen und Reports basieren oftmals auf uneinheitlichen Datenquellen. Daher sind die Daten un├╝bersichtlich und unstrukturiert. Sie bed├╝rfen eines Systems wie Hadoop, das imstande ist, die gro├čen Datenmengen verteilt zu verarbeiten und in mehrere kleinere Prozessschritte zu zerlegen.

Auch anspruchsvollere Rechenoperationen mit Datenmengen im Terabyte- oder sogar Petabyte-Bereich sind zeitnah und ressourcenschonend zu verarbeiten. Business-Intelligence-Anwendungen nutzen die Ergebnisse der Verarbeitung von Big Data etwa zur Unterst├╝tzung des operativen Gesch├Ąfts. Auch die strategische Entscheidungsfindung oder die langfristige Planung der Unternehmensprozesse k├Ânnen von Big-Data-Verarbeitung profitieren.

Big-Data-basierte L├Âsungsans├Ątze wie Hadoop stellen in diesem Zusammenhang eine Erg├Ąnzung der BI-L├Âsungen dar. Anders als die reine BI, ist Hadoop nicht auf bereits perfekt aufeinander abgestimmte Daten angewiesen. Effiziente Beitr├Ąge zur Berichterstattung oder Analyse sind auch auf Basis unstrukturierter Daten aus verschiedenen Quellen m├Âglich. Im Anwendungsbereich des Online-Marketings l├Ąsst sich das Zusammenspiel von BI und Big-Data veranschaulichen. W├Ąhrend ein durchdachtes BI-System etwa pr├Ązise darstellen kann, welche Ware zu welchem Anteil mit welcher Gewinnmarge verkauft wurde, k├Ânnen Big-Data-Softwarekonzepte erfassen, welcher Zielgruppe die Ware besonders zusagt und in welchem Zusammenhang sie mit anderen Waren steht.

Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte