1
Was sind die korrekten Schritte zum Verschieben eines primären Hadoop-DFS-Namenscodes von einem Host zu einem anderen?So verschieben Sie den HDFS-Namenknoten auf einen neuen Host
Ich benutze die Version 2.7.1 von hadoop auf Ubuntu 14.04.3 LTS (ohne YARN).
Schritten:
- Kopieren Sie die ganze hadoop Verzeichnis auf den neuen Host
- den neuen Master in $ hadoop_home gesetzt/etc/hadoop/Master
- die fs.default.name Tag aktualisiert in $ hadoop_home/etc/hadoop/core-site.xml
- formatiert den neuen namenode mit der ClusterID des alten namenode: $ hadoop_home // bin/hadoop nameode -format -custerId $ CLUSTER_ID (Ich habe die Slaves nur aus der Konfiguration entfernt um sicher zu sein, dass keiner der Slaves betroffen ist, vielleicht ist das ein Problem?)
Problem ist, dass die Datanodes noch wegen des Ungleichgewichts der ClusterID nicht kommen:
2016-03-30 16:20:28,718 WARN org.apache.hadoop.hdfs.server.common.Storage: java.io.IOException: Incompatible clusterIDs in /storage/data: namenode clusterID = CID-c19c691d-10da-4449-a7b6-c953465ce237; datanode clusterID = CID-af87cb62-d806-41d6-9638-e9e559dd3ed7
2016-03-30 16:20:28,718 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to XXXXXXXXXXXXXX. Exiting.
java.io.IOException: All specified directories are failed to load.
Irgendwelche Vorschläge? Muss ich auch die BlockPool-ID hinzufügen?
Statt 'tar'ing zu verlassen,' rsync'ing funktionierte auch für mich sowohl für das '$ HADOOP_HOME'- als auch für das Checkpoint-Verzeichnis. –