hdfs namenode 的故障恢复
在我们的 secondaryNamenode 对 namenode 当中的 fsimage 和 edits 进行合并的时候,每次都会先将 namenode 的 fsimage 与 edits 文件拷贝一份过来,所以 fsimage 与 edits 文件在 secondarNamendoe 当中也会保存有一份,如果 namenode 的 fsimage 与 edits 文件损坏,那么我们可以将 secondaryNamenode 当中的 fsimage 与 edits 拷贝过去给 namenode 继续使用,只不过有可能会丢失一部分数据。这里涉及到几个配置选项
【namenode 保存 fsimage 的配置路径】
【namenode 保存 edits 文件的配置路径】
【secondaryNamenode 保存 fsimage 文件的配置路径】
【secondaryNamenode 保存 edits 文件的配置路径】
接下来我们来模拟 namenode 的故障恢复功能
杀死 namenode 进程: 使用 jps 查看 namenode 的进程号 , kill -9 直接杀死
删除 namenode 的 fsimage 文件和 edits 文件
根据上述配置, 找到 namenode 放置 fsimage 和 edits 路径. 直接全部 rm -rf 删除
拷贝 secondaryNamenode 的 fsimage 与 edits 文件到 namenode 的 fsimage 与 edits 文件夹下面去
根据上述配置, 找到 secondaryNamenode 的 fsimage 和 edits 路径, 将内容 使用 cp -r 全部复制到 namenode 对应的目录下即可
重新启动 namenode, 观察数据是否存在
评论