Slave-Knoten im Hadoop Distributed File System (HDFS)

In einem Hadoop Cluster, wobei jeder Datenknoten (auch als ein bekannter Slave-Knoten

Menu

) Führt einen Hintergrundprozess namens DataNode. Dieser Hintergrundprozess (auch als bekannt Daemon) Verfolgt die Scheiben von Daten, speichert das System auf seinem Computer. Er spricht regelmäßig auf dem Master-Server für HDFS (als NameNode bekannt) auf die Gesundheit und den Status der lokal gespeicherten Daten zu melden.

Die Datenblöcke werden als RAW-Dateien im lokalen Dateisystem gespeichert. Aus der Sicht eines Hadoop Benutzer, haben Sie keine Ahnung, welche der Slave-Knoten die Teile der Datei, die Sie bearbeiten müssen hat. Von innen Hadoop, sehen Sie nicht Datenblöcke oder wie sie über den Cluster verteilt sind - alles, was Sie sehen, ist eine Auflistung der Dateien in HDFS.

Die Komplexität, wie die Dateiblöcke werden über den Cluster verteilt wird Ihnen verborgen - Sie wissen nicht, wie kompliziert es ist, und Sie nicht brauchen wissen. Eigentlich sind die Knoten der Slave selbst nicht einmal wissen, was in den Datenblöcken ist sie zu speichern. Es ist der NameNode-Server, der die Zuordnungen von denen Datenblöcke zusammensetzen, die Dateien gespeichert in HDFS kennt.

Besseres Leben durch Redundanz

Ein Kernkonstruktionsprinzip HDFS ist das Konzept der Minimierung der Kosten der einzelnen Slave-Netzknoten unter Verwendung handelsüblicher Hardware-Komponenten. Für massiv skalierbaren Systemen ist diese Idee eine vernünftig, weil die Kosten schnell eskalieren, wenn Sie Hunderte oder Tausende von Slave-Knoten benötigen. Mit niedrigeren Kosten Hardware hat eine Folge, wenn auch, dass einzelne Komponenten als teurer Hardware nicht so zuverlässig sind.

Wenn Sie Speicheroptionen Wahl sind, sollten Sie die Auswirkungen eher Rohstoff-Laufwerken als teurer Enterprise-Qualität-Laufwerke. Stellen Sie sich vor, dass Sie einen 750-Knoten-Cluster haben, wobei jeder Knoten 12 Festplattenlaufwerke gewidmet HDFS Lagerung hat.

täglich Basierend auf einer jährlichen Ausfallrate (AFR) von 4 Prozent für Warenplatten (eine bestimmte Festplatte verfügt über einen 4 Prozent Wahrscheinlichkeit in einem bestimmten Jahr zu scheitern, mit anderen Worten), wird Ihr Cluster erleben wahrscheinlich einen Ausfall der Festplatte des Jahres.

Weil es so viele Slave-Knoten sein kann, ihr Versagen ist auch ein gemeinsames Auftreten in größeren Clustern mit Hunderten oder mehr Knoten. Mit dieser Information im Hinterkopf wurde HDFS auf der Annahme konstruiert, dass alle Hardware-Komponenten, auch bei den Slave-Knoten-Ebene, sind unzuverlässig.

HDFS windet die Unzuverlässigkeit der einzelnen Hardwarekomponenten durch Redundanz: Das ist die Idee hinter diesen drei Kopien von jeder Datei in HDFS gespeichert sind, über das System verteilt. jede Datei Block in HDFS gespeichert Genauer gesagt, verfügt über insgesamt drei Repliken. Wenn ein System mit einem bestimmten Dateiblock bricht, die Sie benötigen, können Sie mit den beiden anderen drehen.

Skizzierung Slave-Knoten-Server-Design

Um so wichtige Faktoren wie Total Cost of Ownership, Speicherkapazität und Leistung ausgleichen, müssen Sie sorgfältig das Design Ihrer Slave-Knoten planen.

Sie sehen häufig Slave-Knoten jetzt, wo jeder Knoten typischerweise zwischen 12 und 16 lokal angeschlossenen 3TB Festplatten. Slave-Knoten verwenden mäßig schnell Dual-Socket-CPUs mit sechs bis acht Prozessorkernen - keine Geschwindigkeits Dämonen, mit anderen Worten. Dies wird durch 48GB RAM begleitet. Kurz gesagt, wird dieser Server für dichte Lagerung optimiert.

Da HDFS ein User-Space-Level-Dateisystem ist, ist es wichtig, auf das lokale Dateisystem auf den Slave-Knoten zu optimieren mit HDFS zu arbeiten. In dieser Hinsicht ist ein High-Impact-Entscheidung, wenn Sie Ihren Server einrichten ist die Wahl eines Dateisystems für die Linux-Installation auf den Slave-Knoten.

Ext3 ist die am häufigsten eingesetzten Dateisystem, da sie die stabilste Option für eine Anzahl von Jahren. Werfen Sie einen Blick auf Ext4, aber. Es ist die nächste Version von Ext3, und es hat lange genug, um weithin als stabil und zuverlässig zur Verfügung.

Noch wichtiger ist für unsere Zwecke, hat es eine Reihe von Optimierungen für große Dateien verarbeiten, die für HDFS Slave-Knoten-Server zur idealen Wahl macht.

Sie nicht den Logical Volume Manager unter Linux (LVM) - eine zusätzliche Schicht zwischen dem Linux-Dateisystem und HDFS, die Hadoop seine Leistung verhindert repräsentiert von der Optimierung. Insbesondere Aggregate LVM-Platten, die die Ressourcenmanagement erschwert, dass HDFS und GARN tun, je nachdem, wie Dateien auf physischen Laufwerke verteilt werden.

Menü