我们有一个集群(*ambari 集群有 3 台主机,3 台工作机器)
name-node 设置在master01 和 master03 Linux redhat 机器版本 7.3
我们注意到集群重启后(机器重启),我们无法在两台机器上启动名称节点服务(master01 & master03)
所以我们开始调查这个问题......
令人惊讶的是,我们看到 master01 或 master03 机器上没有任何 fsimage 文件!
而文件应该在文件夹下 - /data/var/hadoop/hdfs/namenode/current/文件夹
所以在这个阶段我们被困在没有工作集群的情况下
我的问题是
我们如何恢复/恢复文件(如果它们不存在于我们的机器上)
为了恢复集群,我们需要做的其他选择是什么?
大问题 - 这些文件怎么会被删除?,
从 HDFS 用户运行的任何已知推荐可以删除这些文件?或冒fsimage文件的风险?
最后一个非常重要的问题 - 我们如何才能第二次避免这种情况???
背景 - 什么是 fsimage 文件?
fsimage – fsimage 文件包含文件系统在某个时间点的完整状态。每个文件系统修改都被分配一个唯一的、单调递增的事务 ID。fsimage 文件表示在对特定事务 ID 进行所有修改之后的文件系统状态。
来自其他工作集群的 fsimage 文件示例
# cd /data/var/hadoop/hdfs/namenode/current/
# du -sh * | grep fsimage
4.0K fsimage_0000000000000000000
4.0K fsimage_0000000000000000000.md5
12K fsimage_0000000000000008921
4.0K fsimage_0000000000000008921.md5