NameNode故障处理

 NameNode故障后,可以采用如下两种方法恢复数据。

在此之前需要启动SecondaryNameNode节点(和NameNode节点不要放到一台服务器上,影响性能)

配置hdfs-site.xml文件

  <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>192.168.1.149:50090</value>
    </property>
hdfs  --daemon start secondarynamenode

方法一:将SecondaryNameNode中的数据拷贝到NameNode存储数据的目录。

1、kill -9 NameNode进程

2、删除NameNode存储的数据(${hadoop.tmp.dir}/dfs/name)

3、拷贝SecondaryNameNode中的数据到元NameNode存储数据的目录

4、重新启动NamenNode

方法二:使用-importCheckpoint选项启动NameNode守护进程,从而将SecondaryNameNode中数据拷贝到NameNode目录中。

1、修改hdfs-site.xml中的

<property>
  <name>dfs.namenode.checkpoint.period</name>
  <value>120</value>
</property>

<property>
  <name>dfs.namenode.name.dir</name>
  <value>${hadoop.tmp.dir}/dfs/name</value>
</property>

2、kill -9 NameNode进程

3、删除NameNode存储的数据(${hadoop.tmp.dir}/dfs/name)

4、如果SecondaryNameNode不和NameNode在一个主机节点上,需要将SecondaryNameNode存储数据的目录拷贝到NameNode存储数据的平级目录,并删除in_use.lock文件

5、导入检查点数据(等待一会ctrl+c结束掉)

6、启动NameNode

原文地址:https://www.cnblogs.com/cq-yangzhou/p/14412989.html