Hadoop-HDFS-时间点设置以及NN故障处理

HDFS

NameNode和SecondaryNameNode(面试开发重点)

CheckPoint时间设置

(1)通常情况下,SecondaryNameNodec每隔一小时执行一次(3600秒)。

配置文件:hdfs-default.xml

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

(2)一分钟检查一次操作次数,当操作次数达到1百万时,SecondaryNameNode 执行一次。

<property>
    <name>dfs.namenode.checkpoint.txns</name>
    <value>1000000</value>
    <description>操作动作次数</description>
</property>

<property>
    <name>dfs.namenode.checkpoint.check.period</name>
    <value>60</value>
    <description> 1分钟检查一次操作次数</description>
</property >

NameNode故障处理

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

方法一:将 SecondaryNameNode 中数据拷贝到 NameNode 中进行数据备份或恢复;

  1. kill -9 NameNode进程号

  2. 删除NameNode存储的数据(/opt/module/hadoop-2.7.2/data/tmp/dfs/name)

[user_test@hadoop102 hadoop-2.7.2]$ rm -rf /opt/module/hadoop-2.7.2/data/tmp/dfs/name/*
  1. 拷贝SecondaryNameNode中数据到原NameNode存储数据目录
[user_test@hadoop102 dfs]$ scp -r user_test@hadoop104:/opt/module/hadoop-2.7.2/data/tmp/dfs/namesecondary/* ./name/
  1. 重新启动NameNode
[atguigu@hadoop102 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode

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

  1. 修改hdfs-site.xml中的(因为原来的3600秒时间太长了,所以改成120)
<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)

[user_test@hadoop102 hadoop-2.7.2]$ rm -rf /opt/module/hadoop-2.7.2/data/tmp/dfs/name/*
  1. 如果 SecondaryNameNode 不和 NameNode 在一个主机节点上,需要将 SecondaryNameNode 存储数据的目录拷贝到 NameNode 存储数据的平级目录,并删除 in_use.lock 文件
[user_test@hadoop102 dfs]$ scp -r user_test@hadoop104:/opt/module/hadoop-2.7.2/data/tmp/dfs/namesecondary ./

[user_test@hadoop102 namesecondary]$ rm -rf in_use.lock

[user_test@hadoop102 dfs]$ pwd
/opt/module/hadoop-2.7.2/data/tmp/dfs

[user_test@hadoop102 dfs]$ ls
data  name  namesecondary
  1. 导入检查点数据(等待一会ctrl+c结束掉)
[user_test@hadoop102 hadoop-2.7.2]$ bin/hdfs namenode -importCheckpoint
  1. 启动NameNode
[user_test@hadoop102 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode

待续…

集群安全模式

顺顺利利,有自己满意结果~


   转载规则


《Hadoop-HDFS-时间点设置以及NN故障处理》 文超 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录