Hadoop错误之namenode宕机的数据恢复
情景再现:
在修复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
Hadoop错误之namenode宕机的数据恢复的更多相关文章
- 存在单点故障的namenode宕机恢复测试
前提:如果namenode没有做HA,那么至少应该启用secondarynamenode,以便namenode宕机之后手动恢复数据 实验环境:3个节点(cenos 6.10) 测试前数据: 1.为了确 ...
- hadoop错误ERROR namenode.NameNode (NameNode.javamain(1657)) - Failed to start namenode java.net.BindException:Port in use:host1:50070
解决方法: 1.通过lsof -i:50070(lsof可以通过yum install lsof安装)查看,发现是mysql被占用了 2.修改mysql端口 从/usr/share/mysql/my- ...
- Hadoop调优 | NameNode主备宕机引发的思考
大家都知道在双十一这些电商大型营销活动期间,电商网站的访问量等是平时的N倍.每当这个时候到来,无论是开发还是运维人员都严阵以待生怕服务出现问题.很不幸,笔者的一个朋友在一家电商公司上班,在双十一时,恰 ...
- hadoop主节点(NameNode)备份策略以、恢复方法、操作步骤
一.dits和fsimage 首先要提到两个文件edits和fsimage,下面来说说他们是做什么的. 集群中的名称节点(NameNode)会把文件系统的变化以追加保存到日志文件edits中 ...
- Hadoop NameNode判断 DataNode 节点宕机的时间
.namenode 如何判断datanode节点是否宕机? 先决条件: datanode每隔一段时间像namenode汇报,汇报的信息有两点 ()自身datanode的状态信息: ()自身datano ...
- ORA-04031错误导致宕机案例分析
今天遇到一起ORACLE数据库宕机案例,下面是对这起数据库宕机案例的原因进行分析.解读.分析过程中顺便记录一下这个案例的前因后果,攒点经验值,培养一下分析.解决问题的能力. 案例环境: 操作系统 ...
- hadoop错误FATAL org.apache.hadoop.hdfs.server.namenode.NameNode Exception in namenode join java.io.IOException There appears to be a gap in the edit log
错误: FATAL org.apache.hadoop.hdfs.server.namenode.NameNode Exception in namenode join java.io.IOExcep ...
- 前端通信:ajax设计方案(七)--- 增加请求错误监控、前端负载均衡以、请求宕机切换以及迭代问题修复
距离上个迭代过了很长时间,中间经历了很多事情,也在每个空余时间构思了这个迭代的东西以及下个迭代要做的东西.时间周期稍微长了,望见谅. 而且,至今这个开源库的start也已经到了165个了,会支持关注和 ...
- Hadoop 服务SYS CPU过高导致宕机问题
最近某hadoop集群多次出现机器宕机,现象为瞬间机器的sys cpu增长至100%,机器无法登录.只能硬件重启,ganglia cpu信息如下: 首先怀疑有用户启动了比较奇葩的job,导致不合理的系 ...
随机推荐
- VMware 虚拟机运行卡慢的解决办法
虚拟机的运行速度有一部分原因决定于你的物理机的配置,如果你的物理机配置不高,建议不要运行虚拟机,那样反而会更卡! 切记!!!在操作之前,先给虚拟机拍摄一个快照,然后所有操作都在虚拟机关机的情况下执行! ...
- VMWare的host-only/bridged/NAT连接图文介绍
1 VMware简介 VMWare虚拟机软件是一个“虚拟PC”软件,它使我们可以在一台机器上同时运行二个或更多Windows.Linux等系统. 如果我们需要使用多个系统的话,传统的方式有两种: .使 ...
- docker 安装入门
install docker 命令 docker version // docker 版本 docker pull nginx // 拉取nginx docker images // 查看本机dock ...
- 第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借助TopSelf、服务类】)
一. IIS部署 比如在MVC框架中集成了Quartz.Net定时调度,此时该调度系统会随着MVC框架被挂在IIS下,IIS会进程回收,所以大部分开发都会遇到Quartz挂在IIS下一段时间不好用. ...
- 关于redis服务无法启动问题
打开cmd终端找到redis安装路径下 输入redis-server redis.windows.conf报错信息如下 之后重新输入redis-cli.exe 运行结果 然后输入 127.0.0.1: ...
- MySQL的常见存储引擎介绍与参数设置调优(转载)
原文地址:http://www.cnblogs.com/demon89/p/8490229.html MySQL常用存储引擎之MyISAM 特性: 1.并发性与锁级别 2.表损坏修复 check ta ...
- python正则表达式--编译正则表达式re.compile
编译正则表达式-- re.compile 使用re的一般步骤是先将正则表达式的字符串形 式编译为pattern实例,然后使用pattern实例处理文本并获取匹配结果(一个Match实例(值为True) ...
- rsyslog磁盘辅助(Disk-Assisted)模式踩坑记
最近公司为方便tracing.排查, 搞全链路日志收集,而我手上的10亿+pv的动态前端服务必然在考虑之列. 之前呢. 都是运维定制的收集方式: 如上图,rsyslog push kafka, 优点嘛 ...
- 对Java框架spring、hibernate、Struts的粗浅理解
对 Struts 的理解:1. struts 是一个按 MVC 模式设计的 Web 层框架,其实它就是一个大大的 servlet,这个Servlet 名为 ActionServlet,或是 Actio ...
- P2947 [USACO09MAR]向右看齐Look Up--单调栈
单调栈真的很好用呢! P2947 [USACO09MAR]向右看齐Look Up 题目描述 Farmer John's N (1 <= N <= 100,000) cows, conven ...