HBase运维基础——元数据逆向修复原理

本文面向HBase运维人员,从基础原理出发,重点讲解数据完整性及元数据逆向恢复机制,为后续系列文章奠定基础。

HBase目录结构(1.x版本)

HBase在HDFS上的根目录通常为/hbase,关键子目录包括:data(存储表数据和region信息)、WALs(写入日志)、oldWALs(已持久化的WAL)、archive(归档文件)、corrupt(损坏文件)、MasterProcWALs(Master过程日志)、hbase.id和hbase.version(集群标识与版本)等。其中,表数据目录下包含tableinfo(表属性)、regioninfo(region边界与状态)、HFile数据文件、recovered.edits(恢复日志)及临时目录(.tmp、.splits、.merges)。

主要文件与数据完整性

HFile:数据文件,存储实际记录,通过firstkey/lastkey用于元数据重建。

Reference文件:split/merge时引用父HFile,无效引用需手动清理。

regioninfo:记录region的startkey/endkey、状态等。

tableinfo:保存表名、列族属性及自定义配置。

hbase:meta表:记录所有region的分配信息,是集群路由核心。

元数据逆向生成原理

当元数据丢失或损坏时,可依据数据文件反向恢复:

tableinfo:优先从Master缓存恢复,否则仅能恢复表名和列族名,其他属性恢复默认值。

regioninfo:扫描HFile的firstkey/lastkey,按排序确定region边界,重新生成regioninfo。

meta表:根据regioninfo序列化填充meta行,并标记默认Server,待region上线时重新分配。

还需处理region空洞(补充缺失region)和重叠(合并重叠region)问题。

修复工具

hbck(在线):依次执行-fixTableOrphans、-fixHdfsOrphans、-fixHdfsOverlaps、-fixHdfsHoles、-fixMeta、-fixAssignment,逐步修复tableinfo、regioninfo、region范围、meta表并触发重新上线。

OfflineMetaRepair(离线):直接重建meta表,适合集群无法启动场景。

使用工具前务必先执行hdfs fsck检查数据完整性。若涉及第三方组件写入元数据,需额外备份自定义属性,修复后手动核对。后续文章将继续深入HBase运维实践。

相关推荐
溪语流沙6 分钟前
【Web全栈进阶】Alembic数据库迁移:改表结构不再删库
前端·数据库·python·elasticsearch·postgresql
杨云龙UP18 分钟前
Oracle 19c 单机到单机 Active Data Guard 搭建与巡检操作手册
数据库·oracle·adg·操作指南·data guard·dg搭建
念越23 分钟前
初中语数英答题与竞赛平台
java·数据库·spring boot
xixiaoyunya39 分钟前
虚拟机备份怎么做:镜像级与文件级搭配的完整实操方案
linux·运维·网络
落日归屿43 分钟前
AI 商品图做完后,为什么还要管图层?
数据库
阿明61 小时前
进程替换【Linux】
linux·运维·服务器
sunoo-2291 小时前
【嵌入式Linux驱动学习】Day1-Day2 全流程梳理:环境搭建→U-Boot→内核→根文件系统→驱动基础
linux·运维·驱动开发·笔记·学习·阿里云·恩智浦
拾贰_C1 小时前
【English | conversation 】call | 抖音AI短句情景:打电话---come over
数据库·redis·缓存
2601_962885721 小时前
AlphaFeed 支持哪些 K 线周期?period参数怎么传?
前端·数据库·python
YonyouHRSaaS1 小时前
从安全、信创、运维三方面看,人力资源管理系统哪种部署方式更适合企业HR?
运维·安全·hr系统·人力资源管理系统·hr saas·人事管理系统