Was ist HDFS? (Hadoop Distributed File System)
概要: Erläuterung, was HDFS (Hadoop Distributed File System) ist. In diesem Artikel wird außerdem beschrieben, wie HDFS verwendet wird, und es wird ein Beispiel gezeigt.
手順
Was ist HDFS? (Hadoop Distributed File System)
Fakten
Hadoop Distributed File System
– Antwort
Informationen über hadoop Distributed File System (HDFS)
Um zu verstehen, wie ein Hadoop-Cluster® auf Hunderte (und sogar Tausende) von Nodes skaliert werden kann, müssen Sie mit dem Hadoop Distributed File System (HDFS) beginnen. Daten in einem Hadoop-Cluster
werden in kleinere Teile (sogenannte Blöcke) aufgeteilt und über das gesamte Cluster verteilt. Auf diese Weise können die Map- und Reduce-Funktionen auf kleineren Teilmengen Ihrer größeren Datasets ausgeführt werden. Dies bietet die Skalierbarkeit, die für die Big Data-Verarbeitung erforderlich ist.
Was ist das Ziel?
Das Ziel von Hadoop ist die Verwendung allgemein verfügbarer Server in einem sehr großen Cluster, in dem jeder Server über eine Reihe kostengünstiger interner Festplattenlaufwerke verfügt. Für eine höhere Performance versucht MapReduce
, diesen Servern, auf denen die zu verarbeitenden Daten gespeichert sind, Workloads zuzuweisen. Dies wird als Datenlokalität bezeichnet. (Aufgrund dieses Prinzips wird die Verwendung eines Storage Area Network (SAN) oder Network Attached Storage (NAS) in einer Hadoop-Umgebung nicht empfohlen. Bei Hadoop-Bereitstellungen mit san oder NAS kann der zusätzliche Overhead für die Netzwerkkommunikation zu Performanceengpässen führen, insbesondere bei größeren Clustern.) Nehmen Sie sich jetzt einen Moment Zeit und denken Sie an ein Cluster mit 1.000 Maschinen, in dem jeder Rechner über drei interne Festplattenlaufwerke verfügt. berücksichtigen Sie dann die Ausfallrate eines Clusters, das aus 3.000 kostengünstigen Laufwerken und 1.000 kostengünstigen Servern besteht!
Wir befinden uns wahrscheinlich bereits auf der gleichen Seite: Die Komponente mean Time to Failure (MTTF), die Sie in einem Hadoop-Cluster erleben werden, ist wahrscheinlich analog zu einem Reißverschluss auf dem Kitz ihres Kinders: Es wird fehlschlagen (und scheinbar scheinen Reißverschlüsse nur dann zu scheitern, wenn Sie sie wirklich benötigen). Das Coole an Hadoop ist, dass die Realität der MTTF-Raten, die mit kostengünstiger Hardware verbunden sind, tatsächlich gut verstanden wird (ein Designpunkt, wenn Man so will), und ein Teil der Stärke von Hadoop ist, dass es über integrierte Fehlertoleranz und Fehlerkompensierungsfunktionen verfügt. Dies gilt auch für HDFS, da Die Daten in Blöcke aufgeteilt sind und Kopien dieser Blöcke auf anderen Servern im Hadoop-Cluster gespeichert werden. Das heißt, eine einzelne Datei wird tatsächlich als kleinere Blöcke gespeichert, die über mehrere Server im gesamten Cluster repliziert werden.
Ein Beispiel für HDFS
Denken Sie an eine Datei, die die Telefonnummern für alle in den USA enthält. die Personen mit einem Nachnamen, die mit A beginnen, werden möglicherweise auf Server 1, B auf Server 2 usw. gespeichert. In einer Hadoop-Welt werden Teile dieses Telefonbuchs im gesamten Cluster gespeichert und um das gesamte Telefonbuch zu rekonstruieren, benötigt Ihr Programm die Blöcke von jedem Server im Cluster. Um verfügbarkeit zu erreichen, wenn Komponenten ausfallen, repliziert HDFS diese kleineren Teile standardmäßig auf zwei zusätzliche Server. (Diese Redundanz kann auf Dateibasis oder für eine ganze Umgebung erhöht oder verringert werden. Beispielsweise benötigt ein Entwicklungs-Hadoop-Cluster in der Regel keine Datenredundanz.) Diese Redundanz bietet mehrere Vorteile, die offensichtlichste ist eine höhere Verfügbarkeit.
Darüber hinaus ermöglicht diese Redundanz es dem Hadoop-Cluster, die Arbeit in kleinere Blöcke aufzuteilen und diese Jobs für eine bessere Skalierbarkeit auf allen Servern im Cluster auszuführen. Schließlich erhalten Sie den Vorteil der Datenlokalität, die bei der Arbeit mit großen Datasets von entscheidender Bedeutung ist. Wir erläutern diese wichtigen Vorteile später in diesem Kapitel.