hadoop中namenode发生故障的处理方法

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

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

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

方法一:

采用方法一:

  1、删除namenode存储的数据(/home/hadoop/hadoop_tmp/dfs/name/*)

    rm -rf /home/hadoop/hadoop_tmp/dfs/name/*

  2、把secondarynamenode中的数据拷到原namenode存储数据目录

    scp -r hadoop@hadoop102:/home/hadoop/hadoop_tmp/dfs/namesecondary/* /home/hadoop/hadoop_tmp/dfs/name/*

  3、重新启动namenode (在启动之前可以删除目录下的锁文件)

    hadoop-daemon.sh start namenode

方法二:

1、修改hdfs-site.xml文件:

复制代码
<property>
<name>dfs.namenode.checkpoint.period</name>
<value>120</value>
</property>

<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hadoop_tmp/dfs/name</value>
</property>
复制代码

  2、删除namenode存储的数据(/home/hadoop/hadoop_tmp/dfs/name/*)

    rm -rf /home/hadoop/hadoop_tmp/dfs/name/*

  3、将secondarybamenode  存储数据的目录拷贝到 namenode 存储数据的平级目录,并删除锁文件in_use.lock文件  

    scp -r hadoop@hadoop102:/home/hadoop/hadoop_tmp/dfs/namesecondary/* /home/hadoop/hadoop_tmp/dfs/name/*

    rm -rf in_use.lock

  4、导入检查点数据

    hdfs namenode -importCheckpoint

  5、启动namenode

  hadoop-daemon.sh start namenode

原文地址:https://www.cnblogs.com/zmoumou/p/10001411.html