hbase meta表修复

本文详细介绍了HBase的Meta表修复过程,包括Meta表修复的步骤、HBase Region的分配问题、Region引用文件错误的解决以及如何处理重复Region问题。通过新的HBase hbck工具和手动操作,如转Meta和删除表,来实现Meta表的有效修复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

meta表修复一

查看hbasemeta情况
hbase hbck
1.重新修复hbase meta表(根据hdfs上的regioninfo文件,生成meta表)
hbase hbck -fixMeta
2.重新将hbase meta表分给regionserver(根据meta表,将meta表上的region分给regionservere)
hbase hbck -fixAssignments

 

meta表修复二

 

当出现漏洞
hbase hbck -fixHdfsHoles  (新建一个region文件夹)
hbase hbck -fixMeta        (根据regioninfo生成meta表)
hbase hbck -fixAssignments  (分配region到regionserver上)
meta表修复三
缺少regioninfo
hbase hbck -fixHdfsOrphans

hbase region 分配问题

region分不出去,可是删除 rmr /hbase/region-in-transition

 

hbase region 引用文件出错

Found lingering reference file hdfs:
hbase hbck -fixReferenceFiles 

  

 

 

重复region问题:

  查看meta中的region
  scan 'hbase:meta' , {LIMIT=>10,FILTER=>"PrefixFilter('INDEX_11')"}

  在数据迁移的时候碰到两个重复的region
  b0c8f08ffd7a96219f748ef14d7ad4f8,73ab00eaa7bab7bc83f440549b9749a3
  
  删除两个重复的region

  delete 'hbase:meta','INDEX_11,4380_2431,1429757926776.b0c8f08ffd7a96219f748ef14d7ad4f8.','info:regioninfo'
  
  delete 'hbase:meta','INDEX_11,5479_0041431700000000040100004815E9,1429757926776.73ab00eaa7bab7bc83f440549b9749a3.','info:regioninfo'
  
  删除两个重复的hdfs
  
  /hbase/data/default/INDEX_11/b0c8f08ffd7a96219f748ef14d7ad4f8
  /hbase/data/default/INDEX_11/73ab00eaa7bab7bc83f440549b9749a3
  
  对应的重启regionserver(只是为了刷新hmaster上汇报的RIS的状态)
  
  肯定会丢数据,把没有上线的重复region上的数据丢失

 

新hbase hbck

新版的hbck
 
新版本的 hbck 可以修复各种错误,修复选项是: 
(1)-fix,向下兼容用,被-fixAssignments替代 
(2)-fixAssignments,用于修复region assignments错误 
(3)-fixMeta,用于修复meta表的问题,前提是HDFS上面的region info信息有并且正确。 
(4)-fixHdfsHoles,修复region holes(空洞,某个区间没有region)问题 
(5)-fixHdfsOrphans,修复Orphan region(hdfs上面没有.regioninfo的region) 
(6)-fixHdfsOverlaps,修复region overlaps(区间重叠)问题 
(7)-fixVersionFile,修复缺失hbase.version文件的问题 
(8)-maxMerge <n> (n默认是5),当region有重叠是,需要合并region,一次合并的region数最大不超过这个值。 
(9)-sidelineBigOverlaps ,当修复region overlaps问题时,允许跟其他region重叠次数最多的一些region不参与(修复后,可以把没有参与的数据通过bulk load加载到相应的region) 
(10)-maxOverlapsToSideline <n> (n默认是2),当修复region overlaps问题时,一组里最多允许多少个region不参与 
由于选项较多,所以有两个简写的选项 
(11) -repair,相当于-fixAssignments -fixMeta -fixHdfsHoles -fixHdfsOrphans -fixHdfsOverlaps -fixVersionFile -sidelineBigOverlaps 
(12)-repairHoles,相当于-fixAssignments -fixMeta -fixHdfsHoles -fixHdfsOrphans 
 
 
 
新版本的 hbck 
(1)缺失hbase.version文件 
 加上选项 -fixVersionFile 解决 
(2)如果一个region即不
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值