大数据全系列 教程
1869个小节阅读:467.1k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
NameNode故障后,可以采用如下两种方法恢复数据。
1)将SecondaryNameNode中数据拷贝到NameNode存储数据的目录;
(1)kill -9 NameNode进程id(可以通过jps查看nodename进程的id)
(2)删除NameNode存储的数据
xxxxxxxxxx
[root@node1 hadoop-3.1.3]# rm -rf /var/itbaizhan/hadoop/full/dfs/name/*
(3)拷贝SecondaryNameNode中数据到原NameNode存储数据目录
xxxxxxxxxx
[root@node1 dfs]# scp -r root@node2:/var/itbaizhan/hadoop/full/dfs/namesecondary/* ./name/
(4)重新启动NameNode
xxxxxxxxxx
[root@node1 hadoop-3.1.3]# hdfs --daemon start namenode
2)使用-importCheckpoint选项启动NameNode守护进程,从而将SecondaryNameNode中数据拷贝到NameNode目录中。
(1)修改hdfs-site.xml中的
xxxxxxxxxx
<property>
<name>dfs.namenode.checkpoint.period</name>
<value>120</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/var/itbaizhan/hadoop/full/dfs/name</value>
</property>
(2)kill -9 NameNode进程id
(3)删除NameNode存储的数据(/var/itbaizhan/hadoop/full/dfs/name)
xxxxxxxxxx
[root@node1 ~]# rm -rf /var/itbaizhan/hadoop/full/dfs/name/*
(4)如果SecondaryNameNode不和NameNode在一个主机节点上,需要将SecondaryNameNode存储数据的目录拷贝到NameNode存储数据的平级目录,并删除in_use.lock文件
xxxxxxxxxx
[root@node1 dfs]# scp -r root@node2:/var/itbaizhan/hadoop/full/dfs/namesecondary ./
[root@node1 namesecondary]# rm -rf in_use.lock
[root@node1 dfs]# pwd
/var/itbaizhan/hadoop/full/dfs
[root@node1 dfs]# ls
data name namesecondary
(5)导入检查点数据(等待一会ctrl+c结束掉)
xxxxxxxxxx
[root@node1 dfs]# hdfs namenode -importCheckpoint
(6)启动NameNode
xxxxxxxxxx
[root@node1 dfs]# hdfs --daemon start namenode