Ich habe den Replikationsfaktor von 3 auf 1 reduziert, sehe aber keine Aktivität aus dem Namenode oder zwischen den Daten, um übermäßig replizierte HDFS-Dateiblöcke zu entfernen. Gibt es eine Möglichkeit, den Replikationsauftrag zu überwachen oder zu erzwingen?
Das Ändern von dfs.replication
gilt nur für neue Dateien, die Sie erstellen, ändert jedoch nicht den Replikationsfaktor für die bereits vorhandenen Dateien.
Um den Replikationsfaktor für bereits vorhandene Dateien zu ändern, können Sie den folgenden Befehl ausführen, der rekursiv für alle Dateien in HDFS ausgeführt wird:
%Vor%Wenn Sie den Standardreplikationsfaktor von 3 auf 2 von cloudera manager ändern
%Vor%dann haben nur neue geschriebene Daten 2 Replikate für jeden Block.
Bitte verwenden Sie
%Vor%in der Befehlszeile (in der Regel ein Knoten mit HDFS-Gateway-Rolle), wenn Sie den Replikationsfaktor aller vorhandenen Daten ändern möchten. Dieser Befehl ändert rekursiv den Replikationsfaktor aller Dateien im Stammverzeichnis /.
Syntax:
%Vor%Referenz:
Der neue Replikationsfaktor betrifft nur neue Dateien. So ändern Sie den Replikationsfaktor für vorhandene Dateien, die in der Shell ausgeführt werden (auf dem Knoten mit dem Hadoop-Einstiegspunkt)
%Vor%Aber nur "hdfs" können nach / schreiben ("hdfs" ist der Superuser, nicht "root"). Also, möglicherweise müssen Sie dies ausführen:
%Vor%Vielleicht können Sie eine Kartenfunktion schreiben, um die Dateiblöcke zu entfernen!
Tags und Links hadoop hdfs replication