2017-01-24 8 views
1

Ich habe die DataNode, NameNode und sekundäre NameNode Ordner (mit allen Daten oder Informationen nach innen) von einer einer anderen Hadoop-Installation.Hadoop von NameNode und DataNode Dateien

Meine Frage ist, wie kann man was dort zu sehen oder es zu Ihrem lokalen HDFS fügen Sie die Daten oder Informationen zu sehen.

Es kann ein Weg sein, um es oder etwas wiederherstellen, aber ich kann keine Informationen darüber finden.

Die Ordnerstruktur ist wie folgt:

Für NameNode & SecondaryNamenode:

data/dfs/name 
├── current 
│ ├── VERSION 
│ ├── edits_0000000000000000001-0000000000000000007 
│ ├── edits_0000000000000000008-0000000000000000015 
│ ├── edits_0000000000000000016-0000000000000000022 
│ ├── edits_0000000000000000023-0000000000000000029 
│ ├── edits_0000000000000000030-0000000000000000030 
│ ├── edits_0000000000000000031-0000000000000000031 
│ ├── edits_inprogress_0000000000000000032 
│ ├── fsimage_0000000000000000030 
│ ├── fsimage_0000000000000000030.md5 
│ ├── fsimage_0000000000000000031 
│ ├── fsimage_0000000000000000031.md5 
│ └── seen_txid 

Und für DataNode:

data/dfs/data/ 
├── current 
│ ├── BP-1079595417-192.168.2.45-1412613236271 
│ │ ├── current 
│ │ │ ├── VERSION 
│ │ │ ├── finalized 
│ │ │ │ └── subdir0 
│ │ │ │ └── subdir1 
│ │ │ │ ├── blk_1073741825 
│ │ │ │ └── blk_1073741825_1001.meta 
│ │ │ │── lazyPersist 
│ │ │ └── rbw 
│ │ ├── dncp_block_verification.log.curr 
│ │ ├── dncp_block_verification.log.prev 
│ │ └── tmp 
│ └── VERSION 

Vielen Dank im Voraus.

Antwort

1

Die Standardlösung zum Kopieren von Daten zwischen verschiedenen Hadoop-Clustern besteht darin, den Befehl DistCp auszuführen, um eine verteilte Kopie der gewünschten Dateien von der Quelle zum Ziel auszuführen.

Angenommen, dass der andere Cluster nicht mehr ausgeführt wird und Sie nur diese Sicherungsdateien haben, können Sie die Dateien, die Sie haben, in die Verzeichnisse kopieren, die vom neuen Hadoop-Cluster verwendet werden. Diese Speicherorte werden in den Konfigurationseigenschaften in hdfs-site.xml: dfs.namenode.name.dir für den NameNode (Ihr Verzeichnis data/dfs/name) und dfs.datanode.data.dir für den DataNode (Ihr Verzeichnis data/dfs/data) angegeben.

Bitte beachten Sie, dass dies wahrscheinlich nur funktionieren, wenn Sie die gleiche Version von Hadoop aus dem Stand der Einrichtung ausgeführt wird. Andernfalls könnte ein Kompatibilitätsproblem vorliegen. Wenn Sie versuchen, eine ältere Version auszuführen, kann der NameNode nicht gestartet werden. Wenn Sie versuchen, eine neuere Version auszuführen, müssen Sie möglicherweise zuerst einen Aktualisierungsprozess durchführen, indem Sie ausführen.

Eine andere Option, wenn Sie nur die Metadaten des Dateisystems betrachten müssen, ist die Verwendung der Befehle Offline Image Viewer und Offline Edits Viewer. Diese Befehle können die Dateien fsimage bzw. edits entschlüsseln und durchsuchen.

+0

Vielen Dank, Ihre Antwort ist besser, als ich erwartet hatte. Ich sehe, dass Sie ein Experte in Hadoop sind, danke für die Antwort. Obwohl ich den Befehl ./hdfs oiv -i $ HADOOP_HOME/nomenode/current/fsimage -o fsimage.txt nicht richtig ausführen konnte, muss ich vielleicht mehr über den Befehl suchen. Mit freundlichen Grüßen – PeterPa1va

Verwandte Themen