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运维实践。

相关推荐
注塑机数据采集联网3 分钟前
注塑机生产管控MES系统应用
大数据·运维·服务器·人工智能·物联网
海宇服务20 分钟前
零信任架构实战:基于海宇全国车辆配置查验构建自动化二手商用车出厂参数建档网关
运维·人工智能·架构·自动化·1024程序员节
Random Glow1 小时前
二级索引与回表:一次回表到底多贵
数据库·mysql·性能优化·innodb·索引
Brilliantwxx2 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
CarIise2 小时前
JDBC 与数据库事务核心
数据库·笔记
见闻小天地2 小时前
新手入门:印刷包装设备的伺服和PLC运动控制方案各管什么?七步选型讲清楚
运维·网络·数据库·人工智能
海鸥-w2 小时前
Redis 配置与排错说明
java·数据库·redis·bootstrap
csdn_aspnet2 小时前
Docker Prune:完整指南与上手示例
运维·docker·容器·prune
ynchyong3 小时前
linux中的 sed` 与 `seq`
linux·运维·sed·seq·文本工具