• HDFS中NameNode发生故障没有备份从SecondNameNode恢复


    1.Secondary NameNode目录结构

    Secondary NameNode用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。

    在/opt/module/hadoop-2.7.2/data/tmp/dfs/namesecondary/current这个目录中查看SecondaryNameNode目录结构。

    edits_0000000000000000001-0000000000000000002
    fsimage_0000000000000000002
    fsimage_0000000000000000002.md5
    VERSION

    SecondaryNameNode的namesecondary/current目录和主namenode的current目录的布局相同。

    好处:在主namenode发生故障时(假设没有及时备份数据),可以从SecondaryNameNode恢复数据。

    2.故障恢复方法

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

    方法二:使用-importCheckpoint选项启动namenode守护进程,从而将SecondaryNameNode用作新的主namenode。

    1)案例实操(一):

    模拟namenode故障,并采用方法一,恢复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存储数据目录

    cp -R /opt/module/hadoop-2.7.2/data/tmp/dfs/namesecondary/* /opt/module/hadoop-2.7.2/data/tmp/dfs/name/

    (4)重新启动namenode

    sbin/hadoop-daemon.sh start namenode

    2)案例实操(二):

    模拟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>

    (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]$ ls
    data  name  namesecondary

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

    bin/hdfs namenode -importCheckpoint

    (5)启动namenode

    sbin/hadoop-daemon.sh start namenode

    (6)如果提示文件锁了,可以删除in_use.lock

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

  • 相关阅读:
    bugku 字符正则
    Bugku,never never never give up
    Bugku各种绕过哟
    BUGKU的flag.php
    7.15 Java自学
    7.14 Java自学
    7.13 Java自学
    7.12 Java自学
    7.11 Java自学
    7.10 Java自学
  • 原文地址:https://www.cnblogs.com/MWCloud/p/11237041.html
Copyright © 2020-2023  润新知