Hadoop-Tutorial für Anfänger: Hadoop-Basics

Hadoop-Tutorial für Anfänger: Hadoop-Basics

  • Künstliche Intelligenz
6 Minuten Lesezeit Aktualisiert Jul 5, 2016

Auf einen Blick: Hadoop ist ein Open-Source-Framework, das für die Verarbeitung großer Datensätze über Computercluster hinweg entwickelt wurde und Kernkomponenten wie HDFS, YARN, MapReduce und Common umfasst. Es ermöglicht ein effizientes Datenmanagement und -analyse und macht es für Unternehmen wie Amazon und Facebook von entscheidender Bedeutung.

  • Hadoop besteht aus HDFS für die Speicherung, YARN für das Ressourcenmanagement und MapReduce für die Datenverarbeitung.
  • Es unterstützt ein großes Ökosystem von Technologien zur Analyse umfangreicher Datensätze.

Was ist Hadoop?

Hadoop (der vollständige eigentliche Name ist ApacheTM Hadoop®) ist ein Open-Source-Framework, das entwickelt wurde, um den Umgang mit Big Data zu erleichtern. Es bietet eine Methode, um auf Daten zuzugreifen, die auf mehrere Cluster-Computer verteilt sind, die Daten zu verarbeiten und Ressourcen über die beteiligten Rechen- und Netzwerkressourcen zu verwalten. "Hadoop" bezieht sich häufig auf die Kerntechnologie, die aus den vier unten beschriebenen Hauptkomponenten besteht, wird aber auch häufig im Zusammenhang mit dem gesamten Ökosystem unterstützender Technologien und Anwendungen verwendet.

Gemeinsam

"Hadoop" wird auch oft synonym mit "Big Data" verwendet, sollte es aber nicht sein. Hadoop ist ein Rahmenwerk zur Arbeit mit Big Data. Es ist Teil des Big-Data-Ökosystems, das weit mehr umfasst als nur Hadoop selbst.

Hadoop ist ein verteiltes Framework, das die Verarbeitung großer Datensätze erleichtert, die in Computerclustern liegen. Da es sich um ein Framework handelt, ist Hadoop keine einzelne Technologie oder kein einzelnes Produkt. Stattdessen besteht Hadoop aus vier Kernmodulen, die von einem großen Ökosystem unterstützender Technologien und Produkte unterstützt werden. Die Module sind:

  • Hadoop Distributed File System (HDFSTM) – Bietet Zugriff auf Anwendungsdaten. Hadoop kann auch mit anderen Dateisystemen arbeiten, darunter FTP, Amazon S3 und Windows Azure Storage Blobs (WASB), unter anderem.
  • Hadoop YARN – Bietet den Rahmen zur Planung von Jobs und zur Verwaltung von Ressourcen im gesamten Cluster, der die Daten speichert,
  • Hadoop MapReduce – Ein YARN-basiertes paralleles Verarbeitungssystem für große Datensätze.
  • Hadoop Common – Eine Reihe von Dienstprogrammen, die die drei anderen Kernmodule unterstützen.

Zu den bekannten Komponenten des Hadoop-Ökosystems gehören Oozie, Spark, Sqoop, Hive und Pig.

Was Hadoop nicht ist

In diesem Tutorial für Anfänger ist es hilfreich zu verstehen, was Hadoop ist, indem man weiß, was es nicht ist.

  • Hadoop ist nicht "Big Data" – die Begriffe werden manchmal synonym verwendet, sollten aber nicht verwendet werden. Hadoop ist ein Rahmenwerk zur Verarbeitung von Big Data.
  • Hadoop ist kein Betriebssystem (Betriebssystem) oder eine Softwareanwendung.
  • Hadoop ist kein Markenname. Es handelt sich um ein Open-Source-Projekt, obwohl "Hadoop" auch als Teil registrierter Markennamen verwendet werden kann.

Was hat es mit dem Namen auf sich?

Hadoop wurde ursprünglich von Doug Cutting und Mike Cafarella entwickelt. Der Überlieferung nach benannte Cutting die Software nach dem Spielzeugelefanten seines Sohnes. Ein Bild eines Elefanten bleibt das Symbol von Hadoop.

Kernelemente von Hadoop

Hadoop besteht aus vier Grundelementen: HDFS; mapReduce; YARN; Gemeinsam.

HDFS

Hadoop arbeitet über Cluster von Standardservern hinweg. Daher muss es eine Möglichkeit geben, Aktivitäten über die Hardware hinweg zu koordinieren. Hadoop kann mit jedem verteilten Dateisystem arbeiten, jedoch ist das Hadoop Distributed File System das primäre Mittel dazu und das Herzstück der Hadoop-Technologie. HDFS verwaltet, wie Datendateien im Cluster aufgeteilt und gespeichert werden. Daten sind in Blöcke unterteilt, und jeder Server im Cluster enthält Daten aus verschiedenen Blöcken. Es gibt auch eine gewisse eingebaute Redundanz.

GARN

Es wäre schön, wenn man YARN als den String betrachten könnte, der alles zusammenhält, aber in einer Umgebung, in der Begriffe wie Oozie, Tuple und Sqoop üblich sind, ist das natürlich nicht so einfach. YARN ist ein Akronym für Yet Another Resource Negotiator. Wie der vollständige Name schon sagt, hilft YARN dabei, Ressourcen im gesamten Cluster-Umfeld zu verwalten. Es teilt Ressourcenmanagement, Jobplanung und Jobmanagement-Aufgaben in separate Daemonen auf. Wichtige Elemente sind der ResourceManager (RM), der NodeManager (NM) und der ApplicationMaster (AM).

Betrachten Sie den ResourceManager als die endgültige Autorität zur Zuweisung von Ressourcen für alle Anwendungen im System. Die NodeManager sind Agenten, die Ressourcen (z. B. CPU, Speicher, Netzwerk usw.) auf jeder Maschine verwalten. NodeManager berichten an den ResourceManager. ApplicationMaster dient als Bibliothek, die zwischen den beiden liegt. Es verhandelt Ressourcen mit ResourceManager und arbeitet mit einem oder mehreren NodeManagern zusammen, um Aufgaben auszuführen, für die Ressourcen zugewiesen wurden.

MapReduce

MapReduce bietet eine Methode zur parallelen Verarbeitung auf verteilten Servern. Vor der Datenverarbeitung wandelt MapReduce diese großen Blöcke in kleinere Datensätze um, die Tupel genannt werden. Tupel wiederum können entsprechend ihren Schlüssel-Wert-Paaren organisiert und verarbeitet werden. Wenn die Verarbeitung von MapReduce abgeschlossen ist, übernimmt HDFS die Speicherung und Verteilung der Ausgabe. Die Kurzform von MapReduce lautet, dass es große Datenblöcke in kleinere Brocken aufteilt, die leichter zu bearbeiten sind.

Das "Map" in MapReduce bezieht sich auf die Funktion Map Tasks . Map Tasks ist der Prozess, Daten in Schlüssel-Wert-Paare zu formatieren und diese Knoten für die Funktion "Reduce" zuzuweisen, die von Reduce Tasks ausgeführt wird, wobei Daten zu Tupeln reduziert werden. Sowohl Map Tasks als auch Reduce Tasks verwenden Worker-Knoten , um ihre Funktionen auszuführen.

JobTracker ist eine Komponente der MapReduce-Engine, die verwaltet, wie Client-Anwendungen MapReduce-Jobs einreichen. Es verteilt die Arbeit an die TaskTracker-Knoten . TaskTracker versucht, die Verarbeitung so nah wie möglich an den Datenstandort zu verteilen.

Beachten Sie, dass MapReduce nicht die einzige Möglichkeit ist, die parallele Verarbeitung in der Hadoop-Umgebung zu verwalten.

Common, auch bekannt als Hadoop Core, ist eine Reihe von Dienstprogrammen, die die anderen Hadoop-Komponenten unterstützen. Common soll dem Hadoop-Framework Wege geben, typische (gemeinsame) Hardwareausfälle zu verwalten.

Was ist Oozie?

Oozie ist der Workflow-Scheduler, der im Rahmen des Apache Hadoop-Projekts entwickelt wurde. Er verwaltet, wie Workflows starten und ausgeführt werden, und steuert außerdem den Ausführungspfad. Oozie ist eine serverbasierte Java-Webanwendung, die Workflow-Definitionen verwendet, die in hPDL geschrieben sind, einer XML-Prozessdefinitionssprache, die JBOSS JBPM jPDL ähnelt. Oozie unterstützt nur bestimmte Workflow-Typen, daher werden in Hadoop-Umgebungen häufig andere Workload-Scheduler anstelle oder zusätzlich zu Oozie verwendet.

Wie steht Hadoop im Zusammenhang mit Big Data?

Big Data wird zu einem Sammelbegriff, während Hadoop sich auf ein spezifisches Technologie-Framework bezieht. Hadoop ist ein Gateway, das es ermöglicht, mit Big Data zu arbeiten, oder genauer gesagt mit großen Datensätzen, die sich in einer verteilten Umgebung befinden. Eine Möglichkeit, Big Data zu definieren, sind Daten, die zu groß sind, um von relationalen Datenbankmanagementsystemen (RDBMS) verarbeitet zu werden. Hadoop hilft, die Einschränkungen von RDBMS zu überwinden, sodass Big Data verarbeitet werden kann.

Vielleicht eine wichtigere Frage als Wie: Wie steht Hadoop im Zusammenhang mit Big Data? Wie steht Hadoop im Verhältnis zu anderen Big-Data-Technologien? Die Beziehungen zwischen den Kernmodulen von Hadoop und den Technologien und Lösungen, die sie ergänzen und mit ihnen konkurrieren, werden im Abschnitt zum Hadoop-Ökosystem dieses Leitfadens ausführlicher behandelt.

Was ersetzt Hadoop?

In vielen Fällen hat Hadoop nichts ersetzt, weil die Dinge, für die es verwendet wird, vorher nicht umgesetzt wurden (insbesondere bei unstrukturierten Daten) aufgrund von Einschränkungen des Computersystems. Relationale Datenbanken und verteilte Dateisysteme tun jeweils Teile dessen, was Hadoop kann, arbeiten aber in viel kleinerem Maßstab. Auch hier ist eine lehrreichere Frage: Welche Elemente von Hadoop können durch andere Technologien und Produkte im Ökosystem ersetzt oder verbessert werden?

Sehen Sie, wie CARFAX Big Data und Hadoop nutzt

Wer benutzt Hadoop? Warum?

Jede Liste darüber, wie Hadoop verwendet wird und welche Organisationen es nutzen, würde mit der Zeit, die zum Speichern der Datei benötigt wird, veralten. Zu den prominenten Nutzern gehören: Amazon, EBay, Facebook, Google, IBM, LinkedIn, die New York Times, Rackspace und Yahoo.

Allgemeingültig hat Hadoop in Branchen und Organisationen eine Heimatbasis gefunden, die durch große Datensätze, zeitkritische Daten und Daten gekennzeichnet sind, die Einblicke zur Leistungs- oder Umsatzsteigerung liefern können. Genauer gesagt waren die Finanzdienstleistungen, Telekommunikation, Versorgungs-/Energie- und Einzelhandelsbranchen frühe Hadoop-Anwender und Innovatoren, ebenso wie einige Regierungs- und andere öffentliche Organisationen.

Hadoop-Beispiele: 5 reale Anwendungsfälle

Hadoop-Beispiele und Anwendungsfälle >

Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.

Mehr aus Künstliche Intelligenz

Interessieren Sie sich für mehr von BMC?

The Brief ist unsere monatliche E-Mail zum Mainframe und zur Enterprise-Orchestrierung: Recherchen, Kundenberichte, Produktnachrichten, Events.

Mit der Registrierung für dieses Angebot bestätigen Sie, dass Sie die Datenschutzrichtlinie von BMC gelesen und zugestimmt haben.

Sie haben The Brief abonniert

Das Briefing umfasst die Mainframe- und Enterprise-Orchestrierung – BMC AMI und Control-M – sowie die Analystenforschung, Kundeneinsätze und Events in beiden Bereichen.