Zuhause Persönliche Finanzen Verfolgen von Datenblöcken mit NameNode in HDFS - Dummys

Verfolgen von Datenblöcken mit NameNode in HDFS - Dummys

Inhaltsverzeichnis:

Video: hadoop yarn architecture 2024

Video: hadoop yarn architecture 2024
Anonim

unterteilt. Der NameNode fungiert als Adressbuch für Hadoop Distributed File System (HDFS), da er nicht weiß, nur welche Blöcke bilden einzelne Dateien, aber auch wo jeder dieser Blöcke und ihre Repliken gespeichert sind. Wenn ein Benutzer eine Datei in HDFS speichert, wird die Datei in Datenblöcke aufgeteilt, und drei Kopien dieser Datenblöcke werden in Slave-Knoten im gesamten Hadoop-Cluster gespeichert.

Das sind viele Datenblöcke, die man im Auge behalten sollte. Wie Sie vielleicht erwarten würden, macht der NameNode, wenn er weiß, wo die Körper vergraben sind, eine wichtige Komponente in einem Hadoop-Cluster. Wenn der NameNode nicht verfügbar ist, können Anwendungen nicht auf Daten zugreifen, die in HDFS gespeichert sind.

Wenn Sie die folgende Abbildung betrachten, können Sie den NameNode-Daemon sehen, der auf einem Master-Knotenserver läuft. Alle Zuordnungsinformationen, die sich auf die Datenblöcke und ihre entsprechenden Dateien beziehen, werden in einer Datei mit dem Namen gespeichert.

HDFS ist ein Journaling-Dateisystem, dh Datenänderungen werden in einem Bearbeitungsjournal protokolliert, das Ereignisse seit dem letzten Checkpoint protokolliert - dem letzten Zeitpunkt, zu dem das Bearbeitungsprotokoll zusammengeführt wurde. In HDFS wird das Bearbeitungsjournal in einer Datei namens named gespeichert, die im NameNode gespeichert ist.

NameNode Start und Vorgang

Um zu verstehen, wie der NameNode funktioniert, ist es hilfreich, sich dessen Startvorgang anzusehen. Da der NameNode dazu dient, Anwendungen darüber zu informieren, wie viele Datenblöcke sie verarbeiten müssen, und um den genauen Speicherort zu verfolgen, an dem sie gespeichert sind, benötigt sie alle Blockpositionen und Block-zu-Datei-Zuordnungen, die in RAM.

Dies sind die Schritte, die der NameNode durchführt. Um alle Informationen zu laden, die der NameNode nach dem Start benötigt, geschieht Folgendes:

  1. Der NameNode lädt die Datei in den Speicher.

  2. Der NameNode lädt die Datei und spielt die aufgezeichneten Änderungen erneut ab, um die bereits im Speicher befindlichen Blockmetadaten zu aktualisieren.

  3. Die DataNode-Daemons senden die NameNode-Blockberichte.

    Für jeden Slave-Knoten gibt es einen Blockreport, der alle dort gespeicherten Datenblöcke auflistet und deren Zustand beschreibt.

Nach Abschluss des Startvorgangs verfügt der NameNode über ein vollständiges Bild aller in HDFS gespeicherten Daten und ist bereit für den Empfang von Anwendungsanforderungen von Hadoop-Clients.

Wenn Datendateien basierend auf Clientanforderungen hinzugefügt und entfernt werden, werden die Änderungen in die Datenträgervolumes des Slaveknotens geschrieben, Journalaktualisierungen werden an der Datei vorgenommen und die Änderungen werden in den Blockspeichern und Metadaten im Speicher des Namensknotens widergespiegelt…

Während der gesamten Lebensdauer des Clusters senden die DataNode-Daemons alle drei Sekunden die NameNode-Heartbeats (ein schnelles Signal), um anzuzeigen, dass sie aktiv sind.(Dieser Standardwert ist konfigurierbar.) Alle sechs Stunden (wiederum eine konfigurierbare Standardeinstellung) senden die DataNodes dem NameNode einen Blockreport, der angibt, welche Dateiblöcke sich auf ihren Knoten befinden. Auf diese Weise verfügt der NameNode immer über eine aktuelle Sicht der verfügbaren Ressourcen im Cluster.

Schreiben von Daten

Um neue Dateien in HDFS zu erstellen, muss der folgende Prozess ausgeführt werden:

  1. Der Client sendet eine Anfrage an den NameNode, um eine neue Datei zu erstellen.

    Der NameNode bestimmt, wie viele Blöcke benötigt werden, und dem Client wird ein Lease zum Erstellen dieser neuen Dateiblöcke im Cluster erteilt. Als Teil dieser Lease hat der Client eine Zeitbegrenzung, um die Erstellungsaufgabe abzuschließen. (Diese Zeitgrenze stellt sicher, dass Speicherplatz nicht von ausgefallenen Client-Anwendungen belegt wird.)

  2. Der Client schreibt dann die ersten Kopien der Dateiblöcke unter Verwendung der vom NameNode zugewiesenen Lease an die Slave-Knoten.

    Der NameNode verarbeitet Schreibanforderungen und legt fest, wo die Dateiblöcke und ihre Replikate geschrieben werden müssen, wobei Verfügbarkeit und Leistung ausgeglichen werden. Die erste Kopie eines Dateiblocks wird in ein Rack geschrieben, und die zweite und dritte Kopie werden auf einem anderen Rack als die erste Kopie geschrieben, jedoch in verschiedenen Slave-Knoten im selben Rack. Diese Anordnung minimiert den Netzwerkverkehr und stellt gleichzeitig sicher, dass sich keine Datenblöcke am selben Ausfallpunkt befinden.

  3. Da jeder Block in HDFS geschrieben wird, schreibt ein spezieller Prozess die verbleibenden Replikate in die anderen Slave-Knoten, die durch den NameNode identifiziert werden.

  4. Nachdem die DataNode-Daemons bestätigt haben, dass die Dateiblockreplikate erstellt wurden, schließt die Clientanwendung die Datei und benachrichtigt den NameNode, der dann die offene Lease beendet.

Daten lesen

Um Dateien aus HDFS zu lesen, müsste der folgende Prozess stattfinden:

  1. Der Client sendet eine Anfrage an den NameNode für eine Datei.

    Der NameNode bestimmt, welche Blöcke betroffen sind und wählt basierend auf der Gesamtnähe der Blöcke zueinander und zum Client den effizientesten Zugriffspfad aus.

  2. Der Client greift dann auf die Blöcke zu, wobei er die vom NameNode angegebenen Adressen verwendet.

Daten im Hadoop-Cluster ausgleichen

Im Laufe der Zeit, bei Kombinationen von ungleichen Dateneinlesemustern (bei denen einige Slave-Knoten möglicherweise mehr Daten geschrieben haben) oder Knotenausfällen, werden die Daten wahrscheinlich ungleichmäßig über die Racks verteilt. und Slave-Knoten in Ihrem Hadoop-Cluster.

Diese ungleichmäßige Verteilung kann sich nachteilig auf die Leistung auswirken, da die Anforderungen an einzelne Slave-Knoten unausgeglichen werden. Knoten mit wenig Daten werden nicht vollständig genutzt. und Knoten mit vielen Blöcken werden überstrapaziert. ( Hinweis: Überbeanspruchung und Unterbeanspruchung basieren auf der Festplattenaktivität, nicht auf CPU oder RAM.)

HDFS enthält ein Balancer-Dienstprogramm, um Blöcke von überbeanspruchten Slave-Knoten auf unterbelegte zu verteilen und dabei die Blöcke auf verschiedenen Slave-Knoten und Racks. Hadoop-Administratoren sollten den HDFS-Zustand regelmäßig überprüfen. Wenn die Daten ungleichmäßig verteilt werden, sollten sie das Balancer-Dienstprogramm aufrufen.

NameNode-Master-Server-Design

Der Master-Server, auf dem der NameNode-Daemon ausgeführt wird, benötigt aufgrund seiner unternehmenskritischen Eigenschaften deutlich andere Hardwareanforderungen als die für einen Slave-Knoten. Am wichtigsten ist es, Komponenten auf Unternehmensebene zu verwenden, um die Wahrscheinlichkeit eines Ausfalls zu minimieren. Außerdem benötigen Sie genügend RAM, um alle Metadaten und Standortdaten aller in HDFS gespeicherten Datenblöcke in den Speicher zu laden.

Verfolgen von Datenblöcken mit NameNode in HDFS - Dummys

Die Wahl des Herausgebers

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Bei der Arbeit mit IPv6-Adressen kann es viel Zeit in Anspruch nehmen. schreibe deine Adressen - immerhin sind sie 128 Bit lang. Um das Leben einfacher zu machen, gibt es einige Regeln, die Sie verwenden können, um diese Schreibweise zu verdichten: Führende Nullen in der Adresse sind optional. Für einen Adressblock wäre also 0A45 gleich A45, ...

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkadressierungsarchitektur unterteilt den Adressraum für Internet Protocol Version 4 (IPv4 ) in fünf Adressklassen. Jede Klasse, die in den ersten vier Bits der Adresse codiert ist, definiert entweder eine andere Netzwerkgröße, d.h. e. Anzahl der Hosts für Unicast-Adressen (Klassen A, B, C) oder Multicast-Netzwerk (Klasse D). Die fünfte Klasse (E) address ...

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

In TCP / IP- und UDP-Netzwerken ist ein Port ein Endpunkt eine logische Verbindung. Die Portnummer gibt an, um welchen Port es sich handelt. Port 80 wird beispielsweise für HTTP-Datenverkehr verwendet. Wenn Sie einen Befehl wie netstat -n unter Microsoft Windows oder Linux verwenden, sehen Sie eine Auflistung der lokalen Adressen ...

Die Wahl des Herausgebers

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Wenn Sie ein Anfänger auf dem Dashboard sind Automatisierung in Excel ist es unwahrscheinlich, dass Sie den VBA-Code (Visual Basic für Applikationen) von Hand schreiben können, um Makros zu erstellen. Ohne vollständige Kenntnis des Objektmodells und der Syntax von Excel wäre das Schreiben des benötigten Codes für die meisten Anfänger unmöglich. Hier können Sie ein Makro aufzeichnen ...

Excel-Formelberechnungsmodi - Dummys

Excel-Formelberechnungsmodi - Dummys

Standardmäßig ist Excel so eingestellt, dass es automatisch neu berechnet wird. Wenn Sie eine der Zellen ändern, auf die in einer bestimmten Formel verwiesen wird, berechnet Excel diese Formel automatisch neu, sodass ein korrektes Ergebnis basierend auf den Änderungen in den Zellbezügen zurückgegeben wird. Wenn die Formel, die neu berechnet wird, auch als Zellenreferenz in anderen verwendet wird ...

Excel Formelfehler - Dummies

Excel Formelfehler - Dummies

Es ist nicht immer glatt, wenn Sie mit Excel-Formeln arbeiten. Manchmal gibt eine Formel einen Fehlerwert anstelle des erwarteten Werts zurück. Excel hilft Ihnen, das Problem zu identifizieren, indem Sie einen von sieben Fehlerwerten zurückgeben: # DIV / 0! , # N / A, #NAME? , #NULL! , #NUM! , #REF! und #WERT! , erklärt in der folgenden Liste: # DIV / 0! : ...

Die Wahl des Herausgebers

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

, Wenn Sie mit der Verwendung und Veröffentlichung beginnen Bei Google+ möchten Sie gelegentlich Links und Bilder teilen, die Beiträge anderer freigeben, ihre Beiträge kommentieren und andere in Ihren eigenen Google+ Beiträgen erwähnen. Vielleicht fragen Sie sich auch, wie Sie andere dazu bringen, Ihre eigenen Beiträge öfter zu kommentieren. Teilen von Links und Bildern in Google+ So geben Sie ein ...

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Beiträge auf Google+ sind ganz einfach und können posten Text, Links, Fotos, Videos und sogar Ihren aktuellen Standort. Der schwierigste Teil des Beitrags auf Google+ besteht darin, auszuwählen, wen Sie Ihren Beitrag sehen möchten. Google+ verwendet Ihre Kreise, um festzulegen, wer Ihre Beiträge sehen kann. Kreise sind etwas einfacher als Listen, weil ...

Taggen von Personen in Google+ Fotos - Dummies

Taggen von Personen in Google+ Fotos - Dummies

Sie können Personen in Ihren Kreisen auf jedem Foto auf Google+ markieren. Wenn Sie eine Person in einem Foto taggen, wird diese Person über ihre Google+ Benachrichtigungen benachrichtigt. Sie können dann das Tag entfernen oder genehmigen, und das Foto wird mit dem Tag des Namens dieser Person darin angezeigt. Um jemanden zu markieren, ...