第一种
模拟namenode出现故障情况
先启动集群,然后杀死namenode
删除namenode数据
访问客户端已经不行了
数据恢复
把secendarynamenode里的数据复制到namenode节点下
然后启动namenode节点
刚访问时会发现处于安全模式
稍微等一会儿等安全模式关闭再访问就好了
第二种
(0)修改hdfs-site.xml中的,修改完后,分发到其它节点
<property><name>dfs.namenode.checkpoint.period</name><value>120</value></property><property><name>dfs.namenode.name.dir</name><value>/opt/module/hadoop-2.7.2/data/tmp/dfs/name</value></property> |
模拟namenode出现故障情况
(1)kill -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]$ lsdata name namesecondary |