访问Hbase表时,遇到问题报错:
Failed 2 actions: org.apache.hadoop.hbase.exceptions.FailedSanityCheckException: Requested row out of range for doMiniBatchMutation on HRegion C_VIP,7841550515151G61700013047NT,1554743634303.fa5125151452729737659ef06fc2bbeb., startKey='7841550515151G61700013047NT', getEndKey()='8006490844551PBM13686838900NT', row='8562248218851PBW13843166713NT'
问题原因:
由于在做暴力合并region的情况下,导致region顺序出现问题,最后一个region块的最大key值不是无穷大
例如:
正常情况下:
解决:
合并最后一个region和key值为无穷大的region
merge_region ‘03d6ebdb5811899f32c2ad3ae9c0753b’,‘3a1ccea8df42a95bca3c5bbd6c73d5f6’,true
备注:合并完之后可以暂时解决问题,后续需要把region重新合并一遍,保证不会出现:There is an overlap in the region chain
做完之后可以执行查看region是否还有问题:
su hbase -s /bin/sh -c ‘hbase hbck -fixMeta ‘C_VIP’’
备注:在进行Region合并时,要注意合并顺序,尽量避免暴力合并
来源:oschina
链接:https://my.oschina.net/u/4270922/blog/4274266