Definition

Was ist Hadoop?

| Autor / Redakteur: Stefan Luber / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

Bei Hadoop handelt es sich um ein auf Java basierendes Software Framework. Mit ihm lassen sich große Datenmengen auf verteilten Systemen in hoher Geschwindigkeit verarbeiten. Es ist zur Bewältigung der Datenverarbeitung im Big-Data-Umfeld geeignet.

Das Software Framework Hadoop ist eine Art Ökosystem, das auf verschiedenen Architekturen und unterschiedlicher Hardware betrieben werden kann. Es ist in der Programmiersprache Java geschrieben und als Quellcode von Apache frei verfügbar. Erfinder von Hadoop ist Doug Cutting, der mit der Veröffentlichung des MapReduce-Algorithmus durch Google im Jahr 2003 dessen Bedeutung erkannte und die Entwicklung von Hadoop begann. Seit 2008 ist Hadoop ein Top-Level-Projekt der Apache Software Foundation. Der Name Hadoop geht zurück auf einen kleinen Spielzeugelefanten des Sohns von Doug Cutting. Noch heute ist der Elefant im Logo von Hadoop vorhanden.

Das Software Framework ist für verteilt arbeitende, skalierbare Systeme vorgesehen. Zentraler Bestandteil ist unter anderem der MapReduce-Algorithmus von Google. Es lassen sich mit Hadoop intensive Rechenprozesse mit riesigen Datenmengen, wie sie im Big-Data-Umfeld auftreten, auf einer Vielzahl zu einem Cluster zusammengefasster Computer ausführen.

Die einzelnen Bestandteile von Hadoop

Hadoop besteht aus einzelnen Komponenten. Die vier zentralen Bausteine des Software-Frameworks sind:

  • Hadoop Common,
  • das Hadoop Distributed File System (HDFS),
  • der MapReduce-Algorithmus sowie
  • der Yet Another Resource Negotiator (YARN).

Hadoop Common stellt die Grundfunktionen und Tools für die weiteren Bausteine der Software zur Verfügung. Dazu gehören beispielsweise die Java-Archiv-Files und -Scripts für den Start der Software. Die Kommunikation zwischen Hadoop Common und den anderen Komponenten erfolgt über Schnittstellen. Über diese lassen sich die Zugriffe auf darunterliegende Dateisysteme oder die Kommunikation innerhalb von Clustern steuern.

Beim Hadoop Distributed File System (HDFS) handelt es sich um ein verteiltes Dateisystem, mit dem sich Daten auf verschiedenen Systemen in einem Rechnerverbund speichern lassen. Dadurch wird die Vorhaltung von großen Datenmengen möglich. Nach Angaben von Apache ist HDFS in der Lage, mehrere 100 Millionen Daten zu verwalten. Mit zum Dateisystem gehören Mechanismen zur Duplizierung von Daten für den Fall eines Ausfalls einzelner Rechner.

Die zentrale Engine von Hadoop bildet der MapReduce-Algorithmus, der in seinen Grundzügen von Google entwickelt wurde. Der Algorithmus stellt verschiedene Funktionen zur Verfügung, die es erlauben, komplexe und rechenintensive Aufgaben in viele kleine Einzelteile auf mehrere Rechner aufzuspalten. Durch die parallele Abarbeitung der Teilaufgaben ergibt sich eine hohe Rechengeschwindigkeit. Die Teilergebnisse führt der MapReduce-Algorithmus am Ende zu einem Gesamtergebnis zusammen.

Der Yet Another Resource Negotiator (YARN) stellt eine Art Ergänzung des MapReduce-Algorithmus dar. Er kann die Ressourcen in einem Rechnerverband managen und Ressourcen eines Clusters dynamisch verschiedenen Jobs zuordnen. Über Queues legt YARN die Kapazitäten der Systeme für die einzelnen Aufgaben fest.

Die Funktionsweise von Hadoop

Die zentralen Funktionen von Hadoop übernehmen das Filesystem HDFS und der MapReduce-Algorithmus. HDFS sorgt dafür, dass die Daten auf die einzelnen Systeme im Rechnerverbund verteilt werden.

MapReduce spaltet die Verarbeitung der Daten in Einzelaufgaben, die sich auf den Systemen parallel ausführen lassen, auf und fügt deren Resultate zu einem Gesamtergebnis zusammen. Innerhalb eines Hadoop-Clusters nimmt ein Rechnerknoten die Rolle des Masters an, die anderen arbeiten im Slave-Mode. Der Master ist für die Verwaltung der Metadaten des Filesystems verantwortlich. Auf den Slaves erfolgt die eigentliche Ablage der Daten. Der Master sorgt dafür, dass die Datenblöcke repliziert und auf mehreren Knoten gleichzeitig vorhanden sind. Er kennt die Ablageorte der Datenblöcke und kann Datenverlust aufgrund eines Rechnerausfalls im Verbund durch die Replizierung verhindern. Meldet sich ein Knoten über eine längere Zeit nicht mehr beim Master, erfolgt der Zugriff auf die replizierten Daten. Gleichzeitig kümmert sich der Master darum, dass neue Kopien der Daten erzeugt und gespeichert werden. Um für den Ausfall des Masters gerüstet zu sein, ist eine Art Secondary Master vorhanden, auf dem alle Veränderungen der Metadaten gesichert und wiederherstellbar sind.

Business Intelligence – ein typisches Anwendungsgebiet

Die Fähigkeit von Hadoop, große, auch inhomogene Datenmengen in hoher Geschwindigkeit verarbeiten zu können, macht das Framework ideal geeignet für den Einsatz im Business-Intelligence-Umfeld. Oft stammen die für die Business Intelligence Reports und Analysen herangezogenen Daten aus vielen verschiedenen Datenquellen und haben eine sehr unterschiedliche Struktur. Ein Hadoop-System ist in der Lage, die riesigen Datenmengen verteilt und in vielen kleinen Prozessschritten parallel zu verarbeiten. Es lassen sich komplexe Rechenaufgaben mit Daten im Petabyte-Bereich schnell und wirtschaftlich bewältigen. Die Ergebnisse der Big-Data-Verarbeitung durch Hadoop liefern Erkenntnisse, um beispielsweise die strategische Planung des Unternehmens neu auszurichten, die Entscheidungsfindung zu unterstützen, das Unternehmen effizient zu steuern oder das Berichtswesen zu vereinfachen.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Apache Metron als SIEM nutzen

Security Information and Event Management mit Open Source umsetzen

Apache Metron als SIEM nutzen

Lösungen im Bereich Big Data sind grundsätzlich auch in vielen Fällen dazu geeignet im Security-Bereich Einsatz zu finden. Apache Metron ist eine solche Lösung, die generell durchaus sinnvoll eingesetzt werden kann, wenn ein SIEM-System aufgebaut werden soll. lesen

Cubeware baut Solutions Platform weiter aus

Funktionsmodul ergänzt

Cubeware baut Solutions Platform weiter aus

Mit Cubeware Advance erhält die Cubeware Solutions Platform Zuwachs: Das Funktionsmodul ermöglicht Advanced und Predictive Analytics auf Basis der IBM-Software SPSS Modeler. lesen

Wie die Cloud hilft, den Bierabsatz zu optimieren

Data Lake in Azure-Cloud beschleunigt Entscheidungsfindung bei AB InBev

Wie die Cloud hilft, den Bierabsatz zu optimieren

Bei der Brauereigruppe AB InBev verbrachten einzelne Mitarbeiter früher bis zu 80 Prozent ihrer Zeit damit, relevante Daten zu identifizieren und aufzubereiten. Über eine zentrale Cloud-Lösung werden heute Daten schneller bereitgestellt, sodass Mitarbeiter mehr Zeit für die Analyse und die strategische Entscheidungsfindung haben. lesen

Quobyte bietet ein verteiltes Dateisystem mit Tensorflow-Plugin

Verteiltes Speichern und schnelles maschinelles Lernen

Quobyte bietet ein verteiltes Dateisystem mit Tensorflow-Plugin

Das „Quobyte Data Center File System“ ist laut Hersteller Quobyte das erste verteilte Dateisystem, das ein „Tensorflow“-Plugin bereitstellt. Mit diesem lasse sich ein deutlich höherer Durchsatzes erzielen, so dass Anwendungen im Bereich des Machine Learning schneller auf den üblichen riesigen Datensätzen trainiert werden können und Resultate mit größerer Präzision erzielt werden. lesen

Mit Apache Zeppelin Daten analysieren

Interaktives Notizbuch für Big Data

Mit Apache Zeppelin Daten analysieren

Das Apache-Toplevel-Projekt Zeppelin bietet ein Notizbuch für Daten aus anderen Systemen, mit denen Anwender diese effektiv analysieren können. Zeppelin arbeitet dazu eng mit Spark, Flink und Hadoop zusammen. lesen

Objekte für die Zettabyte-Ära

Womit sich Start-ups heute beschäftigen – MinIO

Objekte für die Zettabyte-Ära

MinIO ist nach Angaben des gleichnamigen Herstellers „ein hochleistungsfähiger, verteilter Objektspeicher-Server für datenintensive Anwendungen wie Deep und Machine Learning, Künstliche Intelligenz und Big Data“. Erstellt wurde das Open-Source-Programm (unter der Apache-Lizenz 2.0) mit der Programmiersprache Go. lesen

Cloudera und Hortonworks vereinigen ihre Datenplattformen

Nachbericht DataWorks Summit Barcelona

Cloudera und Hortonworks vereinigen ihre Datenplattformen

Auf der diesjährigen DataWorks-Konferenz in Barcelona traten Cloudera und Hortonworks erstmals gemeinsam auf. Im Januar 2019 hatten beide auf Data Science und Big Data spezialisierten Anbieter ihren Zusammenschluss vollzogen. Als ein Ergebnis wird demnächst die neue Enterprise Data Cloud eingeführt, die vollständig auf Open Source basiert. lesen

Big Data im Mittelpunkt

Nachbericht Big Data Paris 2019

Big Data im Mittelpunkt

Am 11. und 12. März öffneten sich die Pforten zu einem der traditionsreichsten Treffen der Big-Data-Szene: Big Data Paris. Diesjähriges Motto: „Accelerate the Future“. Zum achten Mal in Folge erörterten renommierte Branchenpersönlichkeiten wie Ted Dunning (CTO von MapR) mit kundigen Teilnehmern sowohl die Business-Aspekte als auch die technischen und ethischen Herausforderungen der Nutzung von Massendaten. lesen

Datenaufbereitung ist ein unterschätzter Prozess

Data Preparation

Datenaufbereitung ist ein unterschätzter Prozess

Der Prozess der Datenaufbereitung umfasst die Reinigung, Formung und Mischung von Daten, damit sie für analytische und andere Aufgaben in optimaler Qualität bereitstehen. Nur mit erstklassigen Daten lassen sich beispielsweise Lösungen für Machine Learning und Künstliche Intelligenz effizient, sicher und zuverlässig versorgen. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44560607 / Definitionen)