File 从namenode和datanode文件进行Hadoop还原

File 从namenode和datanode文件进行Hadoop还原,file,hadoop,hdfs,restore,namenode,File,Hadoop,Hdfs,Restore,Namenode,我有来自不同hadoop安装的datanode、namenode和secondary namenode文件夹(其中包含所有数据或信息) 我的问题是,您如何查看其中的内容或将其添加到本地HDF以查看数据或信息 有一种方法可以恢复它或其他东西,但我找不到任何关于它的信息 文件夹树如下所示: 对于Namenode和SecondaryNamenode: data/dfs/name ├── current │ ├── VERSION │ ├── edits_0000000000000000001-0000

我有来自不同hadoop安装的datanode、namenode和secondary namenode文件夹(其中包含所有数据或信息)

我的问题是,您如何查看其中的内容或将其添加到本地HDF以查看数据或信息

有一种方法可以恢复它或其他东西,但我找不到任何关于它的信息

文件夹树如下所示:

对于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
对于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

提前感谢。

在不同Hadoop集群之间复制数据的标准解决方案是运行命令,从源到目标执行所需文件的分布式副本

假设另一个集群不再运行,而您只有这些备份文件,那么可以通过将您拥有的文件复制到新Hadoop集群使用的目录中来进行恢复。这些位置将在hdfs-site.xml中的配置属性中指定:
dfs.namenode.name.dir
用于namenode(数据/dfs/name目录),而
dfs.datanode.data.dir
用于datanode(数据/dfs/data目录)

请注意,只有在您从先前的部署中运行相同版本的Hadoop时,这才可能起作用。否则,可能存在兼容性问题。如果尝试运行旧版本,则NameNode将无法启动。如果尝试运行较新版本,则可能需要先运行
hdfs namenode-upgrade
完成升级过程


如果只需要查看文件系统元数据,另一个选项是使用和命令。这些命令可以分别解码和浏览fsimage和编辑文件。

非常感谢,您的回答比我预期的要好。我知道你是Hadoop的专家,谢谢你的回答。虽然我无法正确执行./hdfs oiv-i$HADOOP_HOME/namenode/current/fsimage-o fsimage.txt命令,但可能我需要搜索有关该命令的更多信息。问候