当前位置: 首页 > news >正文

Hadoop集群误删数据紧急恢复详细步骤

1、发现集群误删数据处理
与现场核实是否可以停止集群,建议立即停止集群,减少数据丢失数据。
2、第一时间检查Fsimage文件,确认是否存在可用于数据恢复的Fsimage文件。
最新checkpoint的元数据只有原来的1/4,故使用离当前时间点最近的fsimage816 来恢复数据。
3、若明确删除操作,且数据必须恢复。
需确认最早的fsimage replay 的最后一个editlog 时间点。
Ls -lrt /
/namenode/current/ | grep “最早fsimage的txid”| grep edits
查询该editlog以后一个txid的时间—timestamp
将editlog转为xml查看:
Hdfs oev -i edits*** -o edits***.xmls
确认最早的FsImage文件replay的最后一个editlog文件的时间,若晚于删除操作的时间,即最早的FsImage文件存储的元数据中,已经将数据删除,故最早的FsImage文件已经无法用于数据恢复。此时只能通过操作系统层面恢复删除的fsimage。
4、检查dn是否已存在大量数据删除
说明存储节点相关的block已经被大量删除,这些数据文件从平台层面已经无法恢复。若必须恢复,可以从操作系统层面,去恢复没有被覆写(overwrite)的硬盘(HDD)分区(sector)。
5、数据恢复

  1. namode所有节点的current目录元数据只保留—fsimage faimage.md5 Vesion文件。其余全部移走(可以保留删除操作id之后的editlog尽量恢复数据。)。
  2. journalnode数据清理:ambariUI修改数据目录或者所有jn节点数据目录清理掉edit文件。
  3. journalnode初始化:启动jourbalnode,在任意一台nn节点执行命令:sudo su ocdp -l -c ‘hdfs namenode -initializeSharedEdits’
    4.ambariUI启动nn1,监控启动日志或hdfs 50070,提示退出安全模式
    5.手动退出安全模式:hdfs dfsadmin -safemode forceExit
    6.在nn2,nn3 节点上执行命令,拉取元数据
    sudo su ocdc -l -c ‘hdfs namenode -bootstrapStandby’
    7.拉取完成后,ambariUI启动nn2,nn3

相关文章:

  • 从云原生视角看 AI 原生应用架构的实践
  • 爬虫cookie是什么意思
  • 助力游戏实现应用内运营闭环,融云游戏社交方案升级!
  • 【信息系统项目管理师知识点速记】组织通用管理:流程管理
  • kerberos HA高可用部署方案详解
  • 【鸿蒙学习笔记】页面和自定义组件生命周期
  • 使用Swoole开发高性能的Web爬虫
  • docker-compose搭建prometheus、grafana
  • React@16.x(43)路由v5.x(8)常见应用场景(5)- 滚动条复位
  • 0702_ARM6
  • 中国民间网络外交组织(CCND)
  • 【C++进阶学习】第五弹——二叉搜索树——二叉树进阶及set和map的铺垫
  • (PADS学习)第二章:原理图绘制 第一部分
  • [开源软件] 支持链接汇总
  • VS2019中解决方案里的所有项目都是 <不同选项> 的解决方案
  • [PHP内核探索]PHP中的哈希表
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • JavaScript学习总结——原型
  • java第三方包学习之lombok
  • Just for fun——迅速写完快速排序
  • Netty 4.1 源代码学习:线程模型
  • Python3爬取英雄联盟英雄皮肤大图
  • vue的全局变量和全局拦截请求器
  • 彻底搞懂浏览器Event-loop
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 基于 Babel 的 npm 包最小化设置
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 人脸识别最新开发经验demo
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 通过npm或yarn自动生成vue组件
  • 用mpvue开发微信小程序
  • 源码安装memcached和php memcache扩展
  • Spring第一个helloWorld
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (C#)获取字符编码的类
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (三)模仿学习-Action数据的模仿
  • (十六)Flask之蓝图
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • ***通过什么方式***网吧
  • .Mobi域名介绍
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .net 无限分类
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .考试倒计时43天!来提分啦!
  • :如何用SQL脚本保存存储过程返回的结果集
  • @private @protected @public
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)
  • [.net]官方水晶报表的使用以演示下载
  • [<事务专题>]