hadoop之fsimage和edits工作机制和元数据namenode宕机恢复

当Hadoop集群的namenode因fsimage和edits问题宕机时,可能导致数据丢失。fsimage是namenode的元数据镜像,edits记录了实时操作。edits不断增长时,secondarynamenode负责合并fsimage和edits,生成新的fsimage,以减轻namenode内存负担。宕机恢复过程中,可能需手动执行save namespace命令。secondarynamenode通常与namenode不在同一机器,以防资源冲突。
摘要由CSDN通过智能技术生成

今天发现我们的集群namenode启动不了了,报错如下图


关键在于在secondarynamenode报错停止之后,namenode开始创建edits.new文件记录新的操作元数据,然后不知道是由于什么问题导致的这个元数据加载报错。

按照网上的一下资料恢复了集群,但是丢失了n多数据

4.恢复 
制造namenode宕机的情况 
1) kill 掉namenode的进程 



Java代码  
1. [root @master  name]# jps    
2. 11749  NameNode    
3. 12339  Jps    
4. 11905  JobTracker    
5. [root@master  name]# kill  11749     



 2)删除dfs.name.dir所指向的文件夹,这里是/data/work/hdfs/name 



Java代码  
1. [root @master  name]# rm -rf *    


   删除name目录下的所有内容,但是必须保证name这个目录是存在的 

3)从secondarynamenode远程拷贝namesecondary文件到namenode的namesecondary 



Java代码  
1. [root @master  hdfs]# scp -r slave- 001 :/data/work/hdfs/namesecondary/ ./    



 4)启动namenode 



Java代码  
1. [root @master  /data]# hadoop namenode –importCheckpoint    


正常启动以后,屏幕上会显示很多log,这个时候namenode就可以正常访问了 

5)检查 
使用hadoop fsck /user命令检查文件Block的完整性 

6)停止namenode,使用crrl+C或者会话结束 

7)删除namesecondary目录下的文件(保存干净) 



Java代码  
1. [root @master  namesecondary]# rm -rf *    



 8)正式启动namenode 



Java代码  
1. [root @master  bin]# ./hadoop-daemon.sh  start namenode    



恢复工作完成,检查hdfs的数据 
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值