从namenode和datanode文件进行hadoop还原

ao218c7q  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(525)

我的datanode、namenode和secondary namenode文件夹(包含所有数据或信息)来自不同的hadoop安装。
我的问题是,你怎么能看到里面的内容,或者把它添加到你本地的hdfs中去查看数据或信息。
有一个方法可以恢复它或什么的,但我找不到任何有关它的信息。
文件夹树如下所示:
对于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

提前谢谢。

bmvo0sr5

bmvo0sr51#

在不同hadoop集群之间复制数据的标准解决方案是运行distcp命令来执行所需文件从源到目标的分布式副本。
假设另一个集群不再运行,而您只有这些备份文件,那么可以通过将您拥有的文件复制到新hadoop集群使用的目录来进行恢复。这些位置将在hdfs-site.xml的配置属性中指定: dfs.namenode.name.dir 对于namenode(您的data/dfs/name目录)和 dfs.datanode.data.dir 对于datanode(data/dfs/data目录)。
请注意,只有在运行与先前部署相同版本的hadoop时,这才可能起作用。否则,可能会出现兼容性问题。如果尝试运行旧版本,则namenode将无法启动。如果尝试运行较新的版本,则可能需要先通过运行 hdfs namenode -upgrade .
如果您只需要查看文件系统元数据,另一个选项是使用脱机图像查看器和脱机编辑查看器命令。这些命令可以分别解码和浏览fsimage和编辑文件。

相关问题