Java教程

HDFS Namenode挂掉后分析解决

本文主要是介绍HDFS Namenode挂掉后分析解决,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

  • 1 分析
  • 2 单节点挂掉数据恢复
  • 3 内存溢出


1 分析

挂掉后首先肯定是进行重启,如果时间段比较高峰期,肯定要快速移动文件进行复原,等错过高峰进行事故分析!

2 单节点挂掉数据恢复

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

方法二:使用-importCheckpoint选项启动namenode守护进程,从而将SecondaryNameNode中数据拷贝到namenode目录中。步骤如下:拿一台和原来机器一样的机器,包括配置和文件,一般来说最快的是拿你节点机器中的一台,立马能用(部分配置要改成NameNode的配置)创建一个空的文件夹,该文件夹就是配置文件中dfs.name.dir所指向的文件夹。拷贝你的secondary NameNode checkpoint出来的文件,到某个文件夹,该文件夹为fs.checkpoint.dir指向的文件夹执行命令bin/hadoop namenode -importCheckpoint这样NameNode会读取checkpoint文件,保存到dfs.name.dir。但是如果你的dfs.name.dir包含合法的fsimage,是会执行失败的。因为NameNode会检查fs.checkpoint.dir目录下镜像的一致性,但是不会去改动它

但是,利用secondary namenode恢复的数据并不是最新的,毕竟它只保存了最近一次的快照

3 内存溢出

hadoop集群采用的是默认的hadoop-heapsize大小,1000m,内存过小导致namenode2出现内存溢出,日志如下:
在这里插入图片描述
该改hadoop-env.sh里的HADOOP_HEAPSIZ参数为更大,默认是动态适应.

这篇关于HDFS Namenode挂掉后分析解决的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!