您的位置:首页 > 大数据 > 人工智能

handler.OpenRegionHandler: Failed open of region=[表名] ---异常的解决思路

2015-06-18 16:30 441 查看
场景描述:由于某些原因(断电、数据文件被人为变动等),导致某一张表(bigtable)无法使用,drop表bigtable长时间后报错,list表中已经不存在bigtable,然而scan
'BIGTABLE',报错如下:

ERROR: org.apache.hadoop.hbase.NotServingRegionException: Region BIGTABLE,,1434443376614.5dc960a46809996a5619060b8e507b59. is not online on dmp-dn-002,60020,1434614612996

查看日志显示:

handler.OpenRegionHandler: Failed open of region=BIGTABLE,\x0F,1434443376615.b589effc1fc458cb17bf3ca99a110050., starting to roll back the global memstore size.

java.lang.IllegalStateException: Could not instantiate a region instance.

可能原因1:
zookeeper引起的,通常这种情况往往是在你正在运行一个进程正在操作hbase数据库的时候,hbase进程被杀掉或hbase服务被停掉所引起的,如果是hbase自身管理的zookeeper

1.将hbase的配置项hbase.zookeeper.property.dataDir值中的目录下的文件全都删除掉

2.cd /hbase目录/bin

hbase zkcli

delete /hbase/table/bigtable

3.删除文件系统中的bigtable文件

hadoop fs -rmr /hbase/data/default/bigtable 


4.删除该表在HBase系统表.META.中的记录:

scan 'hbase:meta', {STARTROW=>'BIGTABLE', LIMIT=>30}  (limit数字为该表的region数,如果不确定,可以手动调整,直到结果列表全是表bigtable的row)

scan列表如下:

BIGTABLE,,1434086168008.e882ec2ed3dfd9d06 column=info:seqnumDuringOpen, timestamp=1434086168550, value=\x00\x00\x00\x00\x00\x00\x00\x01

 9cb47846ea9d132.

 BIGTABLE,,1434086168008.e882ec2ed3dfd9d06 column=info:server, timestamp=1434086168550, value=dmp-dn-001:60020

 9cb47846ea9d132.

 BIGTABLE,,1434086168008.e882ec2ed3dfd9d06 column=info:serverstartcode, timestamp=1434086168550, value=1434076943193

 9cb47846ea9d132.

 BIGTABLE,,1434443376614.5dc960a46809996a5 column=info:regioninfo, timestamp=1434443257437, value={ENCODED => 5dc960a46809996a5619060b8e507b59, NAME => 'BIGTABLE2,,143

 619060b8e507b59.                           4443376614.5dc960a46809996a5619060b8e507b59.', STARTKEY => '', ENDKEY => '\x01'}

 BIGTABLE,,1434443376614.5dc960a46809996a5 column=info:seqnumDuringOpen, timestamp=1434443377081, value=\x00\x00\x00\x00\x00\x00\x00\x01

 619060b8e507b59.

 BIGTABLE,,1434443376614.5dc960a46809996a5 column=info:server, timestamp=1434443377081, value=dmp-dn-002:60020

 619060b8e507b59.

 BIGTABLE,,1434443376614.5dc960a46809996a5 column=info:serverstartcode, timestamp=1434443377081, value=1434423684200

 619060b8e507b59.

.....

根据rowkey,删除对应的row

 

delete '.META.',BIGTABLE,,1434086168008.e882ec2ed3dfd9d069cb47846ea9d132.','info:seqnumDuringOpen' 

delete '.META.',BIGTABLE,,1434086168008.e882ec2ed3dfd9d069cb47846ea9d132.','info:server' 

delete '.META.',BIGTABLE,,1434086168008.e882ec2ed3dfd9d069cb47846ea9d132.','info:serverstartcode' 

delete '.META.',BIGTABLE,,1434086168008.e882ec2ed3dfd9d069cb47846ea9d132.','info:regioninfo'

 

重启hbase,即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: