开发者学堂课程【Hadoop 分布式文件系统 HDFS:NN故障处理_案例】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/93/detail/1459
NN故障处理_案例
内容介绍
一、NN 故障处理_案例
一、NN故障处理_案例
NameNode 故障后,可以采用如下两种方法恢复数据。
方法一:
将 SecondaryNameNode 中数据拷贝到 NameNode 存储数据的目录
1. kill -9 NameNode 进程.
2.删除 NameNode 存储的数据(/opt/module/hadoop-2.7.2/data/tmp/dfs/name).
[atguigu@hadoop102 hadoop-2.7.2]$ rm-rf /opt/module/hadoop-
2.7.2/data/tmp/dfs/name/*
3.拷贝SecondaryNameNode中数据到原 NameNode 存储数据目录。
[atquiqu@hadoop102 dfs] $ scp -r
atguigu@hadoop104:/opt/module/hadoop-
2.7.2/data/tmp/dfs/namesecondary/★./name/.
4.重新启动NameNode.
[atguigu@hadoop102 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode.
方法二:
使用-importCheckpoint 选项启动 NameNode 守护进程,从而将SecondaryNameNode 中数据拷贝到 NameNode 目录中。
1.修改hdfs-site.xml中的。
dfs.namenode.checkpoint.period.
120
.dfs.namenode.name.dir
/opt/module/hadoop-2.7.2/data/tmp/dfs/name.
2. kill -9 NameNode 进程
3.删除NameNode存储的数据(/opt/module/hadoop-2.7.2/data/tmp/dfs/name)
[atguigu@hadoop102 hadoop-2.7.2]$ rm-rf/opt/module/hadoop-
2.7.2/data/tmp/dfs/name/★
4.如果 SecondaryNameNode 不和 NameNode在一个主机节点上,需要将SecondaryNameNode 存储数据的目录拷贝到 NameNode 存储数据的平级目录,并删除in_use.lock文件。
[atguigu@hadoop102 dfs]$ Scp -r
atquigu@hadoop104:/opt/module/hadoop-
2.7.2/data/tmp/dfs/namesecondary ./.
[atguigu@hadoop102 namesecondary]$ rm -rf in use.lock.
[atquigu@hadoop102 dfs]$ pwd.
/opt/module/hadoop-2.7.2/data/tmp/dfs.
[atguigu@hadoop102 dfs]$ 1s
data name namesecondary.
5.导入检查点数据(等待一会ctrl+c 结束掉)
[atguigu@hadoop102 hadoop-2.7.2]$ bin/hdfs namenode
importCheckpoint.
6.启动 NameNode
[atguigu@hadoop102 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start
namenode.