Heim > häufiges Problem > Was sind die drei Kernkomponenten von HADOOP?

Was sind die drei Kernkomponenten von HADOOP?

小老鼠
Freigeben: 2024-01-04 10:52:34
Original
7140 Leute haben es durchsucht

Die drei Kernkomponenten von HADOOP sind HDFS, MapReduce und YARN. Detaillierte Einführung: 1. HDFS: Verteiltes Dateisystem, das zum Speichern großer Datenmengen in Hadoop-Clustern verwendet wird. Es verfügt über eine hohe Fehlertoleranz, kann Daten über mehrere Datenknoten hinweg speichern und bietet einen Datenzugriff mit hohem Durchsatz. 2. MapReduce: wird für die parallele Verarbeitung großer Datensätze verwendet. Es zerlegt Big-Data-Aufgaben in mehrere kleine Aufgaben, verarbeitet sie parallel auf mehreren Knoten und fasst schließlich die Ergebnisse zusammen. 3. YARN: Verantwortlich für die Zuweisung und Verwaltung von Clusterressourcen.

Was sind die drei Kernkomponenten von HADOOP?

Die drei Kernkomponenten von Hadoop sind HDFS (verteilter Dateispeicher), MapReduce (verteiltes Computing) und YARN (Ressourcenplanung).

1. HDFS: HADOOP Distributed File System

HDFS (Hadoop Distributed File System) ist hauptsächlich für die Speicherung und das Lesen von Clusterdaten verantwortlich. Slave-Architektur (Master/Slave) für verteilte Dateisysteme. HDFS unterstützt eine traditionelle hierarchische Dateiorganisationsstruktur, bei der Benutzer oder Anwendungen Verzeichnisse erstellen und dann Dateien in diesen Verzeichnissen speichern können. Die hierarchische Struktur des Dateisystem-Namespace ähnelt der der meisten vorhandenen Dateisysteme. Dateien können über Dateipfade erstellt, gelesen, aktualisiert und gelöscht werden. Aufgrund der Natur des verteilten Speichers unterscheidet er sich jedoch offensichtlich von herkömmlichen Dateisystemen.

HDFS-Vorteile:

  • Hohe Fehlertoleranz. Die von HDFS hochgeladenen Daten speichern automatisch mehrere Kopien und ihre Fehlertoleranz kann durch Hinzufügen von Daten in den Kopien erhöht werden. Wenn ein Replikat verloren geht, repliziert HDFS das Replikat auf dem anderen Computer, und wir müssen uns nicht um die Implementierung kümmern.
  • Geeignet für die Verarbeitung großer Datenmengen. HDFS ist in der Lage, Gigabytes, Terabytes und sogar Petabytes an Daten zu verarbeiten, deren Größe bis zu Millionen reicht, was sehr groß ist. (1PB=1024TB, 1TB=1014GB)
  • Streaming-Datenzugriff. HDFS verwendet ein Streaming-Datenzugriffsmodell, um sehr große Dateien zu speichern, einmal zu schreiben und mehrmals zu lesen. Das heißt, sobald eine Datei geschrieben wurde, kann sie nicht mehr geändert, sondern nur hinzugefügt werden. Dadurch bleibt die Datenkonsistenz erhalten.

2. MapReduce: Datenverarbeitung im großen Maßstab ) und Reduzieren (Reduktion).

Wenn eine MapReduce-Aufgabe gestartet wird, liest die Map-Seite die Daten auf HDFS, ordnet die Daten dem erforderlichen Schlüssel-Wert-Paartyp zu und überträgt sie an die Reduce-Seite. Die Reduce-Seite empfängt die von der Map-Seite übergebenen Schlüssel-Wert-Paar-Daten, gruppiert sie nach verschiedenen Schlüsseln, verarbeitet jede Datengruppe mit demselben Schlüssel, erhält neue Schlüssel-Wert-Paare und gibt sie an HDFS aus. Dies ist der Kern Idee von MapReduce.

Ein vollständiger MapReduce-Prozess umfasst Dateneingabe und Sharding, Datenverarbeitung in der Kartenphase, Datenverarbeitung in der Reduzierphase, Datenausgabe und andere Phasen:

Eingabedaten lesen. Daten im MapReduce-Prozess werden aus dem verteilten HDFS-Dateisystem gelesen. Wenn eine Datei auf HDFS hochgeladen wird, wird sie im Allgemeinen entsprechend 128 MB in mehrere Datenblöcke unterteilt. Wenn Sie also das MapReduce-Programm ausführen, generiert jeder Datenblock eine Karte. Sie können die Anzahl der Karten jedoch auch anpassen, indem Sie die Dateifragmentgröße zurücksetzen . Beim Ausführen von MapReduce wird die Datei entsprechend der eingestellten Fragmentgröße neu aufgeteilt (Split), und ein Datenblock der Fragmentgröße entspricht einer Map.

    Kartenbühne. Das Programm verfügt über eine oder mehrere Maps, die durch die Standardanzahl an Speicher oder Shards bestimmt werden. Für die Map-Phase werden Daten in Form von Schlüssel-Wert-Paaren gelesen. Der Wert des Schlüssels ist im Allgemeinen der Versatz zwischen dem ersten Zeichen jeder Zeile und der Anfangsposition der Datei, also der Anzahl der Zeichen dazwischen , und der Wert ist der Datensatz dieser Zeile. Verarbeiten Sie Schlüssel-Wert-Paare gemäß den Anforderungen, ordnen Sie sie neuen Schlüssel-Wert-Paaren zu und übergeben Sie die neuen Schlüssel-Wert-Paare an die Seite „Reduzieren“.
  • Shuffle/Sort-Phase: Diese Phase bezieht sich auf den Prozess, bei dem mit der Kartenausgabe begonnen und die Kartenausgabe als Eingabe an Reduce übertragen wird. Bei diesem Prozess werden zunächst die Ausgabedaten mit demselben Schlüssel in derselben Karte integriert, um die übertragene Datenmenge zu reduzieren. Anschließend werden die Daten nach der Integration nach dem Schlüssel sortiert.
  • Reduzierungsstufe: Es kann auch mehrere Reduzierungsaufgaben geben, die entsprechend der in der Kartenstufe festgelegten Datenpartition bestimmt werden. Eine Partitionsdaten werden von einer Reduzierung verarbeitet. Für jede Reduce-Aufgabe empfängt Reduce Daten von verschiedenen Map-Aufgaben, und die Daten von jeder Map sind in Ordnung. Bei jeder Verarbeitung in einer Reduzieraufgabe werden die Daten für alle Daten mit demselben Schlüssel reduziert und als neues Schlüssel-Wert-Paar an HDFS ausgegeben.
  • 3. Yarn: Ressourcenmanager

Hadoops MapReduce-Architektur heißt YARN (Yet Another Resource Negotiator, ein weiterer Ressourcenkoordinator) und ist der Kern eines effizienteren Ressourcenmanagements.

YARN besteht hauptsächlich aus drei Modulen: Resource Manager (RM), Node Manager (NM) und Application Master (AM):

Resource Manager ist für die Überwachung, Zuweisung und Verwaltung aller Ressourcen verantwortlich;

    Application Master ist für die jeweilige Planung und Koordination der Anwendungen verantwortlich;
  • Node Manager ist für die Wartung jedes Knotens verantwortlich.

Das obige ist der detaillierte Inhalt vonWas sind die drei Kernkomponenten von HADOOP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage