namenode出现故障数据恢复方式-10

第一种

模拟namenode出现故障情况

先启动集群,然后杀死namenode

namenode出现故障数据恢复方式-10_第1张图片

namenode出现故障数据恢复方式-10_第2张图片

namenode出现故障数据恢复方式-10_第3张图片

删除namenode数据

namenode出现故障数据恢复方式-10_第4张图片

访问客户端已经不行了

namenode出现故障数据恢复方式-10_第5张图片

数据恢复

把secendarynamenode里的数据复制到namenode节点下

namenode出现故障数据恢复方式-10_第6张图片

然后启动namenode节点

namenode出现故障数据恢复方式-10_第7张图片

刚访问时会发现处于安全模式

namenode出现故障数据恢复方式-10_第8张图片

稍微等一会儿等安全模式关闭再访问就好了

namenode出现故障数据恢复方式-10_第9张图片

namenode出现故障数据恢复方式-10_第10张图片

第二种

0)修改hdfs-site.xml中的,修改完后,分发到其它节点

  dfs.namenode.checkpoint.period

  120

 

  dfs.namenode.name.dir

  /opt/module/hadoop-2.7.2/data/tmp/dfs/name

模拟namenode出现故障情况

1kill -9 namenode进程

2)删除namenode存储的数据(/opt/module/hadoop-2.7.2/data/tmp/dfs/name

rm -rf /opt/module/hadoop-2.7.2/data/tmp/dfs/name/*

数据恢复

3)如果SecondaryNameNode不和Namenode在一个主机节点上,需要将SecondaryNameNode存储数据的目录拷贝到Namenode存储数据的平级目录。

[atguigu@hadoop102 dfs]$ pwd

/opt/module/hadoop-2.7.2/data/tmp/dfs

[atguigu@hadoop102 dfs]$ ls

data  name  namesecondary

4)导入检查点数据,这个命令会自动启动namenode节点,只不执行过程非常漫长.在namenode节点上执行这句话.

bin/hdfs namenode -importCheckpoint

(5)如果执行上面命令提示文件锁了,可以删除in_use.lock

  rm -rf /opt/module/hadoop-2.7.2/data/tmp/dfs/namesecondary/in_use.lock

总结:这两种方式只能恢复namenode好之前secondarynamenode帮助namenode已经完成了的数据,namenode自己正在执行的那些数据肯定是已经丢失的.原因看

NameNode和Secondary NameNode工作机制-09

https://blog.csdn.net/kxj19980524/article/details/89102353

你可能感兴趣的:(hadoop)