方法一:
将SecondaryNameNode中的数据拷到NameNode存储数据的目录中
模拟namenode故障,手动拷贝数据
(1)kill -9 namenode进程
(2)删除namenode存储的数据(/opt/module/hadoop-2.7.6/data/tmp/dfs/name)
$ rm -rf /opt/module/hadoop-2.7.6/data/tmp/dfs/name/*
(3)拷贝SecondaryNameNode中数据到原namenode存储数据目录
$ scp -r hadoop@hadoop103:/opt/module/hadoop-2.7.6/data/tmp/dfs/namesecondary/* ./name/
(4)重新启动 namenode
$ sbin/hadoop-daemon.sh start namenode
方法二:
使用 -importCheckpoint选项启动NameNode的守护进程,从而将SecondaryNameNode中的数据拷到NameNode中去
模拟namenode故障,使用importcheckpoint命令恢复数据
(1)修改 hdfs-site.xml 配置文件,添加以下内容:
<property>
<name>dfs.namenode.checkpoint.period</name>
<value>120</value>
</property>
<property>