关闭

Hadoop错误之namenode宕机的数据恢复

标签: hadoopjava软连接csrutilsip
241人阅读 评论(0) 收藏 举报
分类:

情景再现:

在修复hadoop集群某一个datanode无法启动的问题时,搜到有一个答案说要删除hdfs-site.xml中dfs.data.dir属性所配置的目录,再重新单独启动该datanode即可;
问题就出在这个误删除上,当时是在namenode的hadoop/hdfs/目录下,然后就执行了一个可怕的命令

rm -rf data
rm -rf name #存储namenode永久性元数据目录

当时还不知道删除这个的可怕,以为只是误删除了普通数据而已,然后再转到datanode下再次执行删除,再启动datanode后就正常了,jps查看各项服务均已正常启动
然后晚上在执行一个job时,报错了,说目录不存在,到此我才意识到是我之前到误删导致到这个错误,当时把datanode节点调试成功后也没试试执行一个job验证hadoop环境到正确性。
然后我就手动建了一个日志说找不到到目录,重启后报错namenode is not formatted,就是说需要格式化namenode才行,到这里就傻眼了,格式化容易,可集群上几个t的数据可能就没了,这很阔怕。

解决历程:

首先重启集群,发现除了namenode外其他均成功启动,这个时候使用

hdfs dfs -ls / 

这样的命令去查看hdfs文件系统,是无法查看的,应该是报错被拒绝。
我们去查看
http://192.168.1.148:50070/dfshealth.html#tab-datanode
这个目录,发现是无法访问了,然后再去查看每个数据节点的使用量,使用命令

df -lh

发现几个节点的使用量都不是为0,就是说集群的数据并没有被删除,还有恢复的可能,然后看到了几篇hadoop数据恢复的文章
1,hadoop主节点(NameNode)备份策略以及恢复方法
2,hadoop集群崩溃恢复记录
3,模拟namenode宕机:数据块损坏,该如何修复
还有一篇介绍数据存储的文章
4,hadoop HDFS存储原理

以下是正确的解决方案,耗时一天一夜,首先在本地伪分布式环境测试成功,然后移到集群环境中成功解决:
1、存在一个正常的hadoop环境,hdfs上存在多个文件及文件夹
2、删除name目录
3、stop-all.sh
4、执行namenode格式化操作

hadoop namenode -format

5、复制namesecondary/current下的VERSION文件夹里的三个id(clusterID,namespaceID,blockpoolID)到name/current的VERSION文件相应的值里
6、复制namesecondary/current文件夹下fsimage开头的镜像文件到name到相应目录下
7、start-all.sh

PS:这里要注意一点,namesecondary里和data里的clusterID值一样;name目录指的是hdfs-site.xml中dfs.name.dir代表的目录,这里是tmp/hdfs/name,同理data目录;因为没有配置secondary目录,所以采用的是默认的配置,所以namesecondary指的是tmp/dfs/namesecondary

0
0
查看评论

Hadoop根据SecondaryNameNode恢复NameNode

1.制造NameNode宕机的情况 1.1):kill 掉name
  • lzm1340458776
  • lzm1340458776
  • 2014-08-25 15:06
  • 1132

一次Hadoop集群宕机事故总结

10月27日下午,机房中心交换机坏掉,导致HDFS集群和MR(YARN)集群宕掉。 当时的日志现在已查不到,只能推断整个集群宕掉的原因。 HDFS和YARN的集群,都是master/slave模式,其中处于master角色的组件有:NameNode,ResourceManager。某种角...
  • sdn_prc
  • sdn_prc
  • 2015-11-12 17:56
  • 2040

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

hadoop之fsimage和edits工作机制和元数据namenode宕机恢复
  • willwill101
  • willwill101
  • 2016-09-29 14:30
  • 1296

Hadoop namenode宕机问题。

<br />最近Hadoop平台常常出现问题,应该是namenode的问题,空间不足,无法写入之类。<br />现阶段发现的原因是tmp文件夹,都删除后格式化,问题暂时没再出现
  • liaosongbo
  • liaosongbo
  • 2010-06-26 20:29
  • 426

删除恢复Hadoop集群中的DataNode

项目中使用了hadoop作为下载的
  • hwwzyh
  • hwwzyh
  • 2014-10-08 17:44
  • 1399

hadoop1.x和2.x的区别、HA机制及zookepper介绍

hadoop1.x和2.x的区别、HA机制及zookepper介绍 hadoop2.x 及hadoop1.x的HDFS的区别: hadoop2.x支持HA和Federation机制。hadoop1.x中不支持HA和Federation机制。 在运算框架上: hadoop2.x是YARN + MAPR...
  • u013793732
  • u013793732
  • 2016-01-16 11:17
  • 674

hadoop1.x下的NameNode与SecondaryNameNode

hadoop1.x下的NameNode与SecondaryNameNode
  • kwu_ganymede
  • kwu_ganymede
  • 2016-04-23 18:22
  • 534

Hadoop--NameNode && SecondNameNode

SecondaryNameNode(SNN)是HDFS架构中的一个组成部分,是用来保存NameNode中对HDFS metadata的信息的备份,并减少NameNode重启的时间。 Hadoop的默认配置中让SNN进程默认运行在了NameNode 的那台机器上,但是这样的话,如果这台机器出错,宕机,...
  • sinat_26230689
  • sinat_26230689
  • 2016-09-06 11:33
  • 742

关于机房交换机故障导致HDFS NameNode挂掉的问题

HDFS HA中,一个active NN,一个standby NN,三个JNs,共涉及三台机器146.66/67/68。其中66上有一个JN,67上一个JN和一个active NN,68上一个JN和一个standby NN。67和68在一个机房,66在不同的机房。 发生故障的机房交换机,导...
  • sdn_prc
  • sdn_prc
  • 2015-11-13 16:57
  • 1374

Hadoop格式化namenode失败

hadoop 2.7.1,Hadoop自动HA部署shell脚本
  • qq_26840065
  • qq_26840065
  • 2016-03-25 17:50
  • 2335
    个人资料
    • 访问:177213次
    • 积分:2801
    • 等级:
    • 排名:第15119名
    • 原创:58篇
    • 转载:5篇
    • 译文:0篇
    • 评论:52条
    联系我吧
    我的App
    博客专栏
    文章分类