Einführung in das Hadoop-Ökosystem

Apache Hadoop ist ein Open-Source-System zum zuverlässigen Speichern und Verarbeiten vieler Informationen auf vielen Standardcomputern. Hadoop wurde erstmals in einem Artikel verfasst und im Oktober 2013 als "Google File System" veröffentlicht. Doug Cutting, der zu dieser Zeit bei Yahoo arbeitete, führte den Namen Hadoop Ecosystem ein, der auf dem Spielzeugelefantennamen seines Sohnes basierte. Wenn wir den Hauptkern von Apache Hadoop betrachten, können wir zum einen den Speicherteil betrachten, der als Hadoop Distributed File System (HDFS) bezeichnet wird, und zum anderen den Teil, der als Map Reduce Programming-Modul bezeichnet wird. Hadoop teilt tatsächlich eine große Datei auf und speichert sie auf mehreren Knoten im Cluster.

Das Konzept des Hadoop-Ökosystems

Das Apache Hadoop Framework enthält hauptsächlich folgende Module:

  1. Hadoop Common: Enthält alle Bibliotheken und Dienstprogramme, die für die Verwendung des Hadoop-Moduls erforderlich sind.
  2. Hadoop Distributed File System (HDFS): Dies ist eines der verteilten Dateisysteme, mit deren Hilfe große Datenmengen auf mehreren oder Standardcomputern gespeichert werden können. Bieten Sie auch im Falle einer Bandbreite einen großen Nutzen, da normalerweise eine sehr hohe Bandbreite in einem Aggregattyp in einem Cluster bereitgestellt wird.
  3. Hadoop Yarn: Es wurde im Jahr 2012 eingeführt. Es wird hauptsächlich für das Verwalten von Ressourcen auf dem gesamten Warensystem, auch in einem Cluster, eingeführt. Basierend auf der Ressourcenkapazität wird die Anwendung des Benutzers je nach Anforderung verteilt oder geplant.
  4. Hadoop MapReduce: Es hilft hauptsächlich bei der Verarbeitung umfangreicher Daten mithilfe einer kartenreduzierten Programmiermethode.

Apache Hadoop hilft immer bei der Reduzierung der IT-Kosten, wenn es darum geht, große Datenmengen intelligent zu verarbeiten und zu speichern. Da es sich bei Apache Hadoop um Open Source handelt und die Hardware sehr häufig verfügbar ist, können wir die IT-Kosten stets angemessen senken.

Open Source Software + Commodity Hardware = Reduzierung der IT-Kosten

Wenn wir zum Beispiel in Betracht ziehen, täglich 942787 Dateien und Verzeichnisse zu empfangen, für die 4077936 Blöcke erforderlich sind, ergeben sich insgesamt 5020723 Blöcke. Wenn wir also mindestens 1, 46 PB Kapazität konfiguriert haben, verwendet das verteilte Dateisystem für die Verarbeitung über der Last 1, 09 PB, was fast 74, 85% der gesamten konfigurierten Kapazität entspricht, während 178 Live-Knoten und 24 Dead-Knoten berücksichtigt werden.

Das Hadoop-Ökosystem wurde hauptsächlich für die Speicherung und Verarbeitung von Big Data entwickelt, die normalerweise die folgenden Schlüsselmerkmale aufweisen:

  • Volumen

Volumen steht für die Größe der Daten, die tatsächlich gespeichert und generiert wurden. Abhängig von der Größe der Daten wurde festgestellt, ob es sich bei dem Datensatz um Big Data handelt oder nicht.

  • Vielfalt

Vielfalt steht für Natur, Struktur und Art der verwendeten Daten.

  • Geschwindigkeit

Geschwindigkeit steht für die Geschwindigkeit von Daten, die in einem bestimmten Entwicklungsprozess gespeichert und generiert wurden.

  • Richtigkeit

Richtigkeit bezeichnet die Qualität der erfassten Daten und hilft auch bei der Datenanalyse, das beabsichtigte Ziel zu erreichen.

HDFS wurde hauptsächlich zum Speichern einer sehr großen Menge von Informationen (Terabyte oder Petabyte) auf einer großen Anzahl von Computern in einem Cluster entwickelt. Es behält immer einige gemeinsame Merkmale bei, wie z. B. die Zuverlässigkeit von Daten, und läuft auf Standardhardware. Dabei werden Blöcke verwendet, um eine Datei oder einen Teil dieser Datei zu speichern. Verwenden Sie das Modell "Write Once Read Many".

HDFS folgt unter Architektur mit dem Konzept des Namensknotens und des Datenknotens.

Die Verantwortung des Namensknotens (Master):

- verwaltet den Namespace des Dateisystems

- Behält die Cluster-Konfiguration bei

- Verantwortlich für das Replikationsmanagement

Die Verantwortung des Datenknotens (Slaves):

- Speichern Sie Daten im lokalen Dateisystem

- Regelmäßig per Heartbeat an den Namensknoten zurückmelden

HDFS-Schreibvorgang:

Hadoop führt die folgenden Schritte aus, um eine große Datei zu schreiben:

  1. Erstellen Sie eine Datei und aktualisieren Sie das FS-Image, nachdem Sie eine Dateischreibanforderung von einem HDFS-Client erhalten haben.
  2. Ruft Informationen zum Blockspeicherort oder zu den Datenknotendetails vom Namensknoten ab.
  3. Schreiben Sie das Paket in einem einzelnen Datenknoten parallel.
  4. Bestätigen Sie den Abschluss oder akzeptieren Sie das Schreiben von Paketen und senden Sie die Informationen an den Hadoop-Client zurück.

HDFS-Blockreplikations-Pipeline:

  1. Der Client ruft eine Liste von Datenknoten vom Namenode ab, der eine Replik dieses Blocks hostet
  2. Der Client spült dann den Datenblock auf den ersten Datenknoten
  3. Der erste Datenknoten empfängt einen Block, schreibt ihn und überträgt ihn an den nächsten Datenknoten in der Pipeline
  4. Wenn alle Replikate geschrieben sind, fährt der Client mit dem nächsten Block in der Datei fort

HDFS-Fehlertoleranz:

Ein Datenknoten ist plötzlich ausgefallen. In diesem Fall kann HDFS dieses Szenario automatisch verwalten. Zunächst erhalten alle Namensknoten immer einen Heartbeat von jedem Datenknoten. Wenn ein Heartbeat von einem Datenknoten ausfällt und derselbe Datenknoten als inaktiv betrachtet wird, werden alle Blöcke auf den verbleibenden Knoten sofort automatisch repliziert, um die Replikation zu gewährleisten Faktor.

Wenn der Namensknoten einen neuen im Cluster verfügbaren Datenknoten erkennt, werden sofort alle Blöcke einschließlich des hinzugefügten Datenknotens neu verteilt.

Jetzt ist der Name Node irgendwie verloren gegangen oder ausgefallen. In diesem Fall wird auch der Backup Node, der ein FS-Image des Name Node enthält, die gesamte FS-Operation sofort wiedergeben und den Name Node gemäß den Anforderungen hochfahren. In diesem Fall ist jedoch ein manueller Eingriff erforderlich, und das gesamte Hadoop-Ökosystem-Framework fällt einige Male aus, um einen neuen Namensknoten erneut einzurichten. In diesem Fall kann der Namensknoten ein Einzelpunktfehler sein, um dieses Szenario zu vermeiden. Die HDFS-Föderation führt mehrere Cluster ein, die für den Namensknoten eingerichtet wurden, und ZooKeeper kann sofort einen alternativen Namensknoten gemäß den Anforderungen verwalten.

Beispiele für das Hadoop-Ökosystem

Das Beispiel eines vollständigen Hadoop-Ökosystems kann in der folgenden Abbildung richtig erklärt werden:

Daten können aus beliebigen Quellen wie Data Warehouse, Managed Document Repository, Dateifreigaben, normalen RDMS-Datenbanken oder Cloud- oder externen Quellen stammen. Alle diese Daten kamen in strukturierter oder nicht strukturierter oder halb strukturierter Form zu HDFS. HDFS speichert all diese Daten auf verteilte Art und Weise, was bedeutet, dass sie sehr intelligent in verteilten Warensystemen gespeichert werden.

Fazit

Das Hadoop-Ökosystem wurde hauptsächlich zum Speichern und Verarbeiten großer Datenmengen entwickelt, die einen der beiden Faktoren zwischen Volumen, Geschwindigkeit und Vielfalt hätten darstellen müssen. Es speichert Daten in einem verteilten Verarbeitungssystem, das auf Standardhardware ausgeführt wird. Unter Berücksichtigung des gesamten Hadoop-Ökosystemprozesses verteilt HDFS die Datenblöcke und Map Reduce bietet das Programmierframework zum Lesen von Daten aus einer in HDFS gespeicherten Datei.

Empfohlene Artikel:

Dies war ein Leitfaden für das Hadoop-Ökosystem. Hier haben wir das grundlegende Konzept des Hadoop-Ökosystems, seine Architektur, HDFS-Operationen, Beispiele, HDFS-Fehlertoleranz usw. besprochen. Weitere Informationen finden Sie auch in den folgenden Artikeln.

  1. Gebrauch Hadoop in der realen Welt
  2. Hadoop gegen Splunk
  3. Karriere in Hadoop
  4. Hadoop vs SQL-Leistung

Kategorie: