删除Hbase的META中多余表项
由于操作HBase比较粗犷,有时直接在Hadoop中删除hbase对应的表,导致.META.中还记录着表项,但实际存储空间中却没找到。这样就会导致HBase的log中总在报错,说找不到xxx表,而且log在飞快增长。
办法是删除.META.中对应表项。
原来,.META.和-ROOT-其实也是hbase的两个特殊的表,这就是说,我们可以scan、delete等对其进行操作。
1. scan ‘.META.'
可以看到,本来已经删除的表,还在这里存在记录。而且每个表,会分别对应3行记录。
2. delete对应的行。
删除.META.表项与删除table中一行一样,输入:
delete '.META.',row,column
delete后加上3个参数,分别是:表、行、列(如 a:b)就能删除对应行。
之后重启hbase,报错就会消失。