Was ist der Replikationsfaktor in HDFS und wie können wir ihn einstellen?


Beste Antwort

Nun, der Replikationsfaktor ist 3 Standardmäßig in HDFS . In diesem Fall handelt es sich um einen Originalblock und zwei Replikate.

Es kann jedoch Set sein von uns.

Lassen Sie mich Ihnen erklären, wie es geht.

Es gibt zwei Möglichkeiten. Eine verwendet den Befehl und andere ist eine direkte Änderung in hdfs-site.xml Datei.

Die erste ist einfach. Sie müssen den Befehl nur wie folgt eingeben:

Sie können auch Ändern Sie den Replikationsfaktor auf einer pro Datei-Basis mithilfe der Hadoop FS-Shell .

[sawant@localhost ~]$ hadoop fs –setrep –w 3 /my/file

Alternativ können Sie den Replikationsfaktor von aller Dateien unter einem Verzeichnis ändern.

[sawant@localhost ~]$ hadoop fs –setrep –w 3 -R /my/dir

as Wenn Sie den obigen Befehl sehen, ersetzen Sie einfach 3 durch eine beliebige Anforderung.

Lassen Sie uns die zweite verstehen …

Öffnen Sie die hdfs-Site .xml -Datei. Diese Datei befindet sich normalerweise im Ordner conf / des Hadoop-Installationsverzeichnisses. Ändern oder fügen Sie die folgende Eigenschaft zu hdfs-site.xml hinzu.

dfs.replication

3

Block Replication

hdfs-site.xml wird zum Konfigurieren von HDFS verwendet. Durch Ändern der Eigenschaft dfs.replication in hdfs-site.xml wird die Standardreplikation für geändert Alle in HDFS abgelegten Dateien.

In der obigen dfs.replication-Eigenschaft ersetzen Sie einfach 3 durch eine beliebige Anforderung.

Vielen Dank!

Antwort

Der wahre Grund für die Auswahl der Replikation von drei ist, dass es sich um die kleinste Zahl handelt, die ein äußerst zuverlässiges Design ermöglicht. Lassen Sie uns eine echte Analyse des Grundes durchgehen.

Bedenken Sie, dass Sie Daten verlieren, wenn auf der Hardware, auf der die einzelnen Replikate der Daten gespeichert sind, ein Hardwarefehler auftritt. Bei modernen sich drehenden Festplatten ist die Ausfallrate relativ einfach und beträgt ungefähr 5\% pro Jahr (Ihre Zahlen können je nach Schätzmethode und gekaufter Hardware höher oder niedriger sein). Wenn alle Fehler unabhängig sind (dies ist nicht der Fall, da Sie schlechte Stapel erhalten), bedeutet dies, dass einzelne Datenträger mit einer Rate von etwa 1,6 bis 9 Fehlern pro Sekunde ausfallen und die Fehler gemäß einer Poisson-Verteilung verteilt werden sollten. Tausend Festplatten sollten über kurze Zeiträume einen Datenverlust aufweisen, der etwa das 1000-fache dieser Rate beträgt, wenn Sie keine Replikation annehmen.

Mit diesen Zahlen können wir die so genannte mittlere Zeit bis zum Datenverlust berechnen. Im Fall einer einzelnen Festplatte haben Sie eine 95\% ige Chance, Ihre Daten nach einem Jahr zu speichern, im Fall einer Tausend Festplatte haben Sie eine vernachlässigbare Chance, Datenverlust nach einem Jahr zu vermeiden. Ehrlich gesagt denke ich nicht, dass auch nur der Fall einer einzelnen Festplatte akzeptabel ist.

Wir replizieren also die Daten.

Die Hülle für tausend Festplatten weist ungefähr 50 Fehler pro Jahr auf, was übersetzt bedeutet ein Festplattenverlust jede Woche oder so. Das bedeutet nicht, dass dies in exakten wöchentlichen Intervallen geschieht. Dies bedeutet lediglich, dass die durchschnittliche Zeit zwischen Festplattenfehlern etwa eine Woche beträgt. Nach einem Festplattenfehler müssen wir die Daten erneut replizieren, da wir kein System wünschen, das sich im Laufe der Zeit verschlechtert. Wenn wir die Daten erneut replizieren können, bevor die nächste Festplatte ausfällt, die unsere Daten enthält, vermeidet unser System Datenverlust aufgrund des ersten Fehlers.

Der Trick besteht jedoch darin, dass die Zeit zwischen den einzelnen Festplatten liegt Ausfälle nehmen mit zunehmender Größe der Systeme ab. Wenn wir die Dinge jedoch gut gestalten, wird die Zeit für die erneute Replikation im gleichen Verhältnis * abnehmen *. Die Wiederherstellungszeit hängt von der Anzahl der Laufwerke pro Computer und der Netzwerkbandbreite zwischen den Computern ab.

Dies bedeutet, dass wir die mittlere Zeit bis zum Datenverlust recht einfach abschätzen können. Für zwei Kopien müssen wir die Rate des Festplattenverlusts berechnen und dann die Wahrscheinlichkeit eines weiteren Festplattenverlusts während der Wiederherstellungszeit für diesen Verlust berechnen. Für zwei Kopien müssen wir dies auf den Fall erweitern, dass zwei Laufwerke während der Wiederherstellungszeit des ersten Laufwerks sterben. Dies wird komplexer, wenn Sie Festplatten entfernen und ausgefallene Wiederherstellungsstrategien verwenden, die versuchen, den normalen Betrieb nach dem ersten Fehler beizubehalten, aber alle Ressourcen für die Wiederherstellung nach dem zweiten Fehler verwenden.

Wenn Sie rechnen, Eine Kopie von Daten gibt Ihnen eine sehr hohe Wahrscheinlichkeit (tatsächlich fast sicher), Daten in einem großen Cluster zu verlieren.

Bei zwei Kopien haben Sie eine Wahrscheinlichkeit, Daten zu verlieren, die im Bereich von 0,3 liegt \% – 5\% abhängig von Ihren Clusterparametern. Dies ist für die meisten Unternehmen nicht gut genug, aber einige Anwendungen können dies tolerieren.

Bei drei Kopien können Sie die Wahrscheinlichkeit eines Datenverlusts normalerweise auf ,1\% pro Jahr erhöhen, was einer mittleren Zeit bis zum Datenverlust von 1000 Jahren oder mehr entspricht, wenn Sie die Dinge richtig machen.

Das ist also der Grund.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.