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

相关推荐
2301_7807896615 小时前
WAF与Web应用安全的深度融合:从边界防护到业务风控
运维·服务器·网络·云原生·ddos
二宝哥15 小时前
Rocky Linux 10.2 安装 PostgreSQL 15 完整教程
linux·运维·postgresql
不会就选b15 小时前
Linux之线程池(二)
linux·运维·服务器
数据狐(Datafox)15 小时前
1688商品详情API技术解析与落地应用(含标准 JSON 示例)
java·数据库·json
阿黎梨梨15 小时前
搭建一个单词管理后台:Next.js + Supabase + Drizzle
数据库·next.js
工业HMI实战笔记15 小时前
【拯救HMI】:工业自动化交互革命:HMI 触摸屏如何成为产线智能中枢
运维·自动化·交互
增量星球15 小时前
embedding专题之向量化革命:从关键词到语义检索
数据库·embedding
夕除15 小时前
redis--008
java·jvm·数据库
烬羽16 小时前
一个博客系统,为什么要拆成 6 张表?
数据库·mysql
程序员-Benothing16 小时前
MySQL 中的日志类型有哪些?binlog、redo log 和 undo log 的作用和区别是什么?
数据库·mysql