HDFS NameNode故障排除

一、将SecondaryNameNode中数据拷贝到NameNode存储数据的目录

1、制造故障

# 1. 杀死进程
kill 9 NameNode进程
# 2. 删除NameNode文件
rm -rf /opt/module/hadoop-2.7.7/data/tmp/dfs/name/*

2、拷贝 SecondaryNameNode中的数据到原 NameNode 存储数据目录

cd data/tmp/dfs/name/
scp -r tom@wt3:/opt/module/hadoop-2.7.7/data/tmp/dfs/namesecondary/* ./

3、重新启动 NameNode

sbin/hadoop-daemon.sh start namenode

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

1、修改 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.7/data/tmp/dfs/name</value>
</property>

xsync 分发

2、制造故障

kill -9 NameNode进程
删除NameNode的节点数据

3、拷贝(平级与name文件夹)

# 1.拷贝
cd data/tmp/dfs/ scp -r tom@wt3:/opt/module/hadoop-2.7.7/data/tmp/dfs/namesecondary ./ # 2.删除 rm -rf in_use.lock

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

bin/hdfs namenode -importCheckpoint

5、启动NameNode

sbin/hadoop-daemon.sh start namenode

 

posted @ 2020-09-01 09:58  市丸银  阅读(476)  评论(0编辑  收藏  举报