修复HBase rowkey不连续或者rowkey的end key为空的问题

最近做大批量的数据插入,30W条图像数据。应该是持续插入造成在通过hbase 60010端口查看表内容的时候,发现Table Regions显示的内容下面有一行数据的End Key为空。这个表下大概有10W条,但是通过hbase count命令统计数据总数的时候却只能检索出来14000条左右。经验证,后续没有找到的数据就是卡在了这个Region块。

空行的样子如下:

NameRegion ServerEncoded NameStart KeyEnd Key
。。。。。。。。    
medicine_02,0100110000010586400,1349179411566node4:60030191753168401001100000105864000100110000011750400
medicine_02,0100110000011750400,1349223763122node2:6003056952537201001100000117504000100110000012653400
medicine_02,0100110000012653400,1349224859494node10:60030187469120201001100000126534000100110000013080400
medicine_02,0100110000013080400,1349225913534node6:600305796911601001100000130804000100110000013785400
medicine_02,0100110000013785400,1349225913535node11:60030151505156301001100000137854000100110000014603400
medicine_02,0100110000014603400,1349225913535node2:6003017144740000100110000014603400 
medicine_02,0100110000015485400,1349225913537node6:60030179917966601001100000154854000100110000016345400
medicine_02,0100110000016345400,1349225913538node11:60030176802155201001100000163454000100110000017154400
medicine_02,0100110000017154400,1349225913539node10:60030147724870801001100000171544000100110000018127400
。。。。。。。    

参看红色字体的哪一行Region,没有End Key。

考虑删掉错误的Region,然后使用merge合并上下两行Key 不一致的行过程如何

1、在‘.META.’删除错误的Region:在hbase shell下执行 delete '.META.','regionname' ,'列名'(region name就是上表中的Name列的值,要完全删掉这一行数据,根据你的列簇,有可能会执行好几便以上命令。尝试过deleteall命令,没删掉的说)

2、合并Key 不一致的两行,在关闭hbase集群的情况下执行一下命令:

hbase merge <table-name> <region1-name> <region2-name> 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值