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 2025

Video: hadoop yarn architecture 2025
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

Wie man die Socialcast Mobile App benutzt - dummies

Wie man die Socialcast Mobile App benutzt - dummies

Sogar die stoischste Anwendung wie Microsoft Excel hat ein begleitendes Smartphone-App, natürlich hat Socialcast auch eine. Wenn es so wäre, wäre es nicht wirklich eine Ausrede zu sagen, dass Socialcast nicht sehr sozial wäre, wenn du es nicht mit in die große Welt außerhalb deiner Zelle mitnehmen könntest. Die mobile App ...

Wie man das App Verzeichnis von Yammer benutzt - dummies

Wie man das App Verzeichnis von Yammer benutzt - dummies

Sie haben vielleicht gehört: "Es gibt eine App dafür. "Nun, das ist der Fall bei Yammer, der als einzige Ressource für die Vernetzung am Arbeitsplatz funktioniert. Aber Yammer bietet Ihnen auch eine Menge Apps, mit denen Sie Ihr Arbeitsleben noch einfacher gestalten können. Es gibt zwei Möglichkeiten, auf das App-Verzeichnis zuzugreifen: Option ...

So ​​verwenden Sie die Yammer-Analysetools - Dummies

So ​​verwenden Sie die Yammer-Analysetools - Dummies

Yammer rühmt sich damit als "führendes soziales Unternehmensnetzwerk für Unternehmen" um die Arbeit intelligenter und schneller zu erledigen. "Woher weißt du, ob das wahr ist? Ein guter Weg, um zu sehen, wie es für Sie funktioniert, ist die Analyse von Yammer. Wie greifen Sie auf diese großartigen Tools zu? Es ist einfach. Log ...

Die Wahl des Herausgebers

Die Evolution von Distributed Computing für Big Data - Dummies

Die Evolution von Distributed Computing für Big Data - Dummies

Hinter allen wichtigen Trends des letzten Jahrzehnts, einschließlich Serviceorientierung, Cloud Computing, Virtualisierung und Big Data, ist eine grundlegende Technologie namens Distributed Computing. Einfach gesagt, ohne die Verteilung von Datenverarbeitung wäre keiner dieser Fortschritte möglich. Distributed Computing ist eine Technik, mit der einzelne Computer über geografische Gebiete hinweg miteinander vernetzt werden können, so als ob ...

Drei Anbieter mit Data Mining-Produkten - Dummies

Drei Anbieter mit Data Mining-Produkten - Dummies

Es gibt mehrere Anbieter, die Data-Mining-Produkte verkaufen, die Sie vielleicht in Betracht ziehen möchten. Verwenden Sie mit Ihrem Data Warehouse. Hier sind drei, die eine Überlegung wert sind. Microsoft Microsoft hat das serverseitige Data Mining mit Microsoft SQL Server 2005 eingeführt. Obwohl es nicht so ausgereift und ausgeklügelt wie SAS und SPSS ist, hat Microsoft im Laufe der Zeit seine Fähigkeit bewiesen ...

Grundlagen der Big-Data-Integration - Dummies

Grundlagen der Big-Data-Integration - Dummies

Die fundamentalen Elemente der Big-Data-Plattform verwalten Daten auf neue Weise verglichen mit der traditionellen relationalen Datenbank. Dies liegt daran, dass Skalierbarkeit und hohe Leistung erforderlich sind, um sowohl strukturierte als auch unstrukturierte Daten zu verwalten. Komponenten des Big-Data-Ökosystems von Hadoop bis NoSQL DB, MongoDB, Cassandra, ...

Die Wahl des Herausgebers

So ​​stellen Sie eine Verbindung zu Spotify Mobile her - Dummies

So ​​stellen Sie eine Verbindung zu Spotify Mobile her - Dummies

Die meisten modernen Smartphones sind Wi-Fi-fähig. In ein lokales Netzwerk können Sie Spotify-Tracks mithilfe von Wi-Fi auf Ihr Telefon streamen. Sie können Spotify Mobile zu Hause und über Wi-Fi-Netzwerke in Hotels und Cafés problemlos nutzen - Sie müssen nur sicherstellen, dass Sie angemeldet und verbunden sind. ...

Wie Spotify funktioniert - Dummies

Wie Spotify funktioniert - Dummies

Wie Spotify funktioniert, kann Auswirkungen auf den Festplattenspeicher Ihres Computers haben. Internetverbindung. Spotify funktioniert anders als viele andere Online-Musikdienste, weil es auf mehrere Arten angewiesen ist, um Ihnen reibungslos Musik ohne Verzögerungen zu liefern. In Computing-Sprechen, das Maß der Verzögerung zwischen Anfordern eines Songs und Hören es ...

So ​​erreichen Sie Spotify Support - Dummies

So ​​erreichen Sie Spotify Support - Dummies

Es kann vorkommen, dass Sie eine kleine Hilfe beim Navigieren und Verwenden von Spotify benötigen von deinen Spotify Freunden. Sie können jederzeit Support @ spotify per E-Mail senden. com mit Ihrer Frage oder melden Sie sich bei Twitter an und senden Sie einen Tweet an @spotify. Stellen Sie sicher, dass Sie alle Informationen einschließen, die dem Support-Team helfen könnten, einschließlich Ihres Benutzernamens, damit sie ...