Hbase表级别元数据一致性和hbck原理

本文探讨了HBase中表和Region元数据的管理,包括ZK、Meta表、HDFS目录和HMaster内存中的信息。在进行表Group迁移时遇到元数据错误,引发对HBase如何维护一致性及HBck检查过程的关注。HBck通过检查不同位置的元数据,识别并尝试修复不一致情况。
摘要由CSDN通过智能技术生成

最近重新回到熟悉的hbase领域,感慨还是很多。首先终于又可以沉下心来好好搞技术了,其次看到现在有冲劲有追求的年轻人就像看到原来的自己。大数据需要一代一代人传承下去。

最近处于集群管理方便以及资源合理利用的考虑我们上线了region group的patch,将原来在2.0里面才合并的patch 加到了0.98版本中。初始使用的时候挺好,但是也遇到了一点问题——在做表group之间迁移的时候发现master页面上的元数据信息有误。而实际的region分配却没问题

为啥会出现这种情况,就需要我们了解hbase关于表、region元数据如何管理的问题。

首先,大家知道的比较多的是zk中存储的元数据信息

一、ZK元数据

第一级目录/hbase
第二级子目录
/meta-region-server		## meta表所在的rs位置,最初的bigtable论文中是有root表到meta表两级的,hbase原来也有,后来是发现一个meta表能索引的region数量已经足够用了,而多加一级root表多一次路由没意义就舍弃掉了
/acl				## 子节点存储表以及namespace级别权限控制,再下一级子节点存储哪些user拥有什么权限				
/backup-masters			## 子节点存储standby master的地址,端口,启动时间
/table				## 子节点存储这个集群所有的表信息,无论是否enable
/draining			## 存储regionserver的临时变化情况,一般是下线多个regionserver时使用	
/region-in-transition		## 存储处于事物中的region(split/online/offline/compact等)
/running			## hbase集群是否正常运行
/table-lock			## 锁表信息,在表发生变更时使用
/master				## 集群的master地址
/balancer			## loaderbalancer是否被开启
/namespace			## 当前所有的namespace
/hbaseid			## 集群启动时生成的唯一id
/online-snapshot		## 在线的快照
/replication			## hbase的replication配置,有rs和peers两个元数据信息
/groupInfo			## 存储的group信息
/splitWAL
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值