Hadoop Distributed File System (HDFS) für Big Data-Projekte

Das Hadoop Distributed File System ist ein vielseitiges, elastisch, geclusterten Ansatz, um Dateien in einem großen Datenumgebung zu verwalten. HDFS ist nicht das endgültige Ziel für Dateien. Vielmehr ist es ein Datendienst, der eine einzigartige Kombination von Fähigkeiten bietet erforderlich, wenn Datenvolumen und Geschwindigkeit hoch sind. Da die Daten einmal geschrieben wird und dann viele Male danach lesen, anstatt die Konstante Lese-Schreibvorgänge von anderen Dateisystemen ist HDFS eine ausgezeichnete Wahl für große Datenanalyse unterstützen.

bild0.jpg

Große Daten NameNodes

HDFS funktioniert durch große Dateien in kleinere Stücke brechen genannt Blöcke. Die Blöcke werden auf Datenknoten gespeichert, und es liegt in der Verantwortung des NameNode zu wissen, was Sie auf dem Datenknoten die gesamte Datei bilden. Die NameNode wirkt auch als # 147-Verkehrspolizist, # 148- alle Zugriff auf die Dateien zu verwalten.

Die komplette Sammlung aller Dateien im Cluster manchmal als Dateisystem bezeichnet Namespace. Es ist die NameNode Job diesen Namensraum zu verwalten.

Auch wenn eine starke Beziehung Knoten zwischen dem NameNode und den Daten vorhanden sind, arbeiten sie in einem # 147-lose gekoppelter # 148- Mode. Auf diese Weise können die Cluster-Elemente dynamisch zu verhalten, Hinzufügen von Servern, wie die Nachfrage steigt. In einer typischen Konfiguration finden Sie ein NameNode und möglicherweise ein Datenknoten auf einem physikalischen Server im Rack ausgeführt wird. Andere Server laufen Datenknoten nur.

Die Datenknoten kommunizieren untereinander, damit sie während des normalen Dateisystemoperationen zusammenarbeiten können. Dies ist notwendig, da Blöcke für eine Datei wahrscheinlich auf mehreren Datenknoten gespeichert werden. Da die NameNode für den korrekten Betrieb des Clusters so kritisch ist, kann und sollte gegen einen Einzelfehler zu schützen repliziert werden.

Große Datenknoten

Datenknoten sind nicht klug, aber sie sind elastisch. Innerhalb des HDFS Cluster-Datenblöcke werden über mehrere Datenknoten repliziert und der Zugriff wird durch die NameNode verwaltet. Der Replikationsmechanismus ist für eine optimale Effizienz ausgelegt, wenn alle Knoten des Clusters in einem Rack gesammelt werden. In der Tat verwendet die NameNode a # 147-Rack-ID # 148- behalten den Überblick über die Datenknoten im Cluster.

Datenknoten stellen auch # 147-Herzschlag # 148- Nachrichten zu erkennen und sicherzustellen, die Konnektivität zwischen dem NameNode und den Datenknoten. Wenn ein Herzschlag nicht mehr vorhanden ist, hebt die Abbildung der NameNode den Datenknoten aus dem Cluster und hält auf dem Betrieb als wäre nichts geschehen. Wenn der Herzschlag gibt, wird sie in dem Cluster transparent in Bezug auf den Benutzer oder die Anwendung gegeben.

Die Integrität der Daten ist ein wesentliches Merkmal. HDFS unterstützt eine Reihe von Funktionen zur Verfügung zu stellen Datenintegrität ausgelegt. Wie Sie vielleicht erwarten, wenn Dateien in Blöcke unterteilt werden und dann auf verschiedene Server im Cluster verteilt, könnte jede Veränderung im Betrieb von jedem Element der Datenintegrität beeinträchtigen. HDFS verwendet Transaktionsprotokolle und Prüfsummenvalidierung Integrität im gesamten Cluster zu gewährleisten.

Transaktionsprotokolle zu verfolgen jeder Operation und sind wirksam bei der Rechnungsprüfung oder Wiederaufbau des Dateisystems sollte etwas unpassende auftreten.

Checksum Validierungen werden verwendet, um den Inhalt von Dateien in HDFS zu gewährleisten. Wenn ein Client eine Datei anfordert, kann er die Inhalte durch Prüfung ihrer Prüfsumme überprüfen. Wenn die Prüfsumme übereinstimmt, kann die Dateioperation fortzusetzen. Wenn nicht, wird ein Fehler gemeldet. Prüfsummen-Dateien versteckt sind, um Manipulationen zu vermeiden.

Datenknoten verwenden lokale Datenträger im Commodity-Server für die Persistenz. Alle Datenblöcke werden lokal, in erster Linie aus Gründen der Performance gespeichert. Die Datenblöcke werden über mehrere Daten Knoten repliziert, so dass der Ausfall eines Servers kann nicht unbedingt korrupte Datei. Der Grad der Replikation, die Anzahl der Datenknoten und die HDFS Namespace werden hergestellt, wenn der Cluster implementiert.

HDFS für große Datenmengen

HDFS Adressen große Daten Herausforderungen, indem Sie Dateien in eine ähnliche Sammlung von kleineren Blöcken zu brechen. Diese Blöcke werden unter den Datenknoten in dem Cluster HDFS verteilt und werden durch die NameNode verwaltet. Blockgrößen sind konfigurierbar und sind in der Regel 128 Megabyte (MB) oder 256 MB, was bedeutet, dass eine 1 GB-Datei für seine grundlegenden Speicherbedarf acht 128MB Blöcke verbraucht.

HDFS ist elastisch, so dass diese Blöcke im gesamten Cluster im Falle eines Serverausfalls repliziert. Wie hält HDFS den Überblick über all diese Stücke? Die kurze Antwort ist Dateisystem Metadaten.

Metadaten ist definiert als # 147-Daten über Daten # 148- Denken Sie an HDFS Metadaten als Vorlage für eine detaillierte Beschreibung der folgenden bereitstellt.:

  • Wenn die Datei erstellt wurde, zugegriffen wird, geändert, gelöscht, und so weiter

  • Wobei die Blöcke der Datei in dem Cluster gespeichert sind

  • Wer hat das Recht, die Datei anzuzeigen oder zu ändern

  • Wie viele Dateien werden auf dem Cluster gespeichert

  • Wie viele Datenknoten existieren im Cluster

  • Die Lage des Transaktionsprotokolls für den Cluster

HDFS Metadaten in der NameNode gespeichert, und während der Cluster in Betrieb ist, alle Metadaten in den physikalischen Speicher des NameNode Server geladen. Wie Sie vielleicht erwarten, desto größer der Cluster, desto größer ist die Metadaten-Fußabdruck.

Was genau macht ein Block-Server? Überprüfen Sie die folgende Liste aus:

  • Speichert die Datenblöcke in dem lokalen Dateisystem des Servers. HDFS ist auf vielen verschiedenen Betriebssystemen und verhält sich genauso, ob auf Windows, Mac OS oder Linux.

  • Speichert die Metadaten eines Blocks in dem lokalen Dateisystem auf der Metadaten-Vorlage im NameNode basiert.

  • Führt regelmäßige Validierungen von Dateiprüfsummen.

  • Sendet regelmäßigen Berichten an den NameNode über das, was Blöcke sind für Dateioperationen.

  • Stellt Metadaten und Daten für Kunden auf Anfrage. HDFS unterstützt den direkten Zugriff auf die Datenknoten von Client-Anwendungsprogramme.

  • Leitet Daten an andere Datenknoten auf der Grundlage einer # 147-Pipelining # 148- Modell.

Block-Platzierung auf den Datenknoten ist entscheidend für die Datenreplikation und Unterstützung für die Daten Pipelining. HDFS hält eine Replik lokal von jedem Block. HDFS ist ernsthaft über die Datenreplikation und Elastizität.

Menü