Replizieren von Datenblöcke im Hadoop Distributed File System

Hadoop Distributed File System (HDFS) ausgelegt ist, die auf kostengünstigen, Daten zu speichern, und mehr unzuverlässig, Hardware. preiswert verfügt über einen attraktiven Ring zu ihm, aber es hat Bedenken hinsichtlich der Zuverlässigkeit des Systems als Ganzes zu erhöhen, vor allem für die hohe Verfügbarkeit der Daten gewährleistet ist.

die Köpfe hinter HDFS voraus für eine Katastrophe Planung, machte die Entscheidung, das System so zu konfigurieren, dass es drei speichern würde (count 'em - drei) Kopien von jedem Datenblock.

HDFS geht davon aus, dass jedes Plattenlaufwerk und jeder Slave-Knoten inhärent unzuverlässig ist, so klar, Sorgfalt bei der Wahl getroffen werden müssen, wo die drei Kopien der Datenblöcke gespeichert sind.

Die Abbildung zeigt, wie Datenblöcke aus der früheren Datei sind gestreift über die Hadoop-Cluster - das heißt, sie zwischen den Slave-Knoten gleichmäßig verteilt sind, so dass eine Kopie des Blocks noch unabhängig von Disk, Knoten oder Rackfehler zur Verfügung stehen wird.

bild0.jpg

Die Datei gezeigt hat fünf Datenblöcke, beschriftet a, b, c, d und e. Wenn Sie einen genaueren Blick nehmen, können Sie diese besondere Cluster sehen, ist aus zwei Racks mit zwei Knoten pro Stück, und dass die drei Kopien jedes Datenblocks wurden über die verschiedenen Slave-Knoten verteilt.

Jede Komponente in dem Hadoop-Cluster wird als potentieller Fehlerpunkt zu sehen ist, so dass, wenn HDFS die Replikate der ursprünglichen Blöcke über den Hadoop-Cluster speichert, wird versucht, um sicherzustellen, dass die Block-Repliken in verschiedenen Fehlerquellen gespeichert sind.

Zum Beispiel einen Blick auf Block A nehmen es erforderlich gespeichert Zu der Zeit werden, wurde Slave-Knoten 3 ausgewählt, und die erste Kopie von Block A wurde dort gespeichert. Für mehrere Regalsysteme, HDFS bestimmt dann, dass die verbleibenden zwei Kopien des Blocks A müssen in einem anderen Gestell gespeichert werden. So ist die zweite Kopie des Blocks A auf Slave-Knoten 1 gespeichert.

Die endgültige Kopie kann auf demselben Rack wie die zweite Kopie, aber nicht auf dem gleichen Slave-Knoten gespeichert werden, so dass es auf Slave-Knoten 2 gespeichert wird.

Menü