删除Hbase的META中多余表项

2019-03-28 13:41|来源: 网络

由于操作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,报错就会消失。

相关问答

更多
  • 您可以尝试在hbase-site.xml中设置hbase.zookeeper.property.maxClientCnxns 。 我把它设置为150它对我有用。 Can you try setting hbase.zookeeper.property.maxClientCnxns in hbase-site.xml. I set this to 150 it works for me.
  • 在Hbase中,没有直接有效的方法按内容选择行,Hbase就像一个Map,你只能按键获取行(范围)。 一种可能的方法是使用过滤器,但它使它非常慢 看看价值过滤器 http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/filter/ValueFilter.html In Hbase, there is no direct and efficient way of selecting the row by content, Hbase is like a ...
  • 除非你处于不归路的地步,否则我不建议这样做。 我不知道这是否是核心hbase数据的正确方法,但是当我遇到这种不一致时,我通常会删除保存hbase数据的目录的所有内容。 所以这个地方将在hbase-site.xml中寻找以下属性 hbase.rootdir 一旦系统在我的本地开发机器上稳定,我就没有使用过这种方法。 通常如果我在关闭系统之前正确关闭集群,那么我就不会遇到这样的问题。 I do not recommend this unless you are at the point of no return ...
  • 如果要清理Solr索引 - 你可以点击http url - http://host:port/solr/core/update?stream.body=*:*&commit=true 或者使用这个,如果发布数据xml数据 - *:* 确保使用commit true提交更改 没有太多的想法清除hbase数据虽然。 If you want to clean up Solr inde ...
  • 读取和写入不通过元。 读取和写入直接发送到托管所请求的特定密钥的区域服务器。 客户端“一次”扫描元以获取映射(开始键:结束键,区域服务器)。 在客户端具有该位置的映射之后,它直接与托管数据的区域服务器对话。 https://blog.cloudera.com/blog/2013/04/how-scaling-really-works-in-apache-hbase/ read and writes don't go through meta. read and writes goes directly to ...
  • 我在http://hbase.apache.org/book.html#d705e2948找到了一些有用的信息 该部分的摘录 通过创建墓碑标记删除工作。 例如,假设我们要删除一行。 为此,您可以指定版本,否则默认使用currentTimeMillis。 这意味着“删除版本小于或等于此版本的所有单元格”。 HBase从不修改数据,因此例如删除不会立即删除(或标记为已删除)存储文件中与删除条件对应的条目。 相反,会编写一个所谓的墓碑,它将掩盖已删除的值。 如果删除行时指定的版本大于行中任何值的版本,则可以考虑删 ...
  • 刚删除此界面。 作为将内部移动到PB的步骤,为了避免因性能原因而进行转换,我们应该删除HRegionInterface。 因此,区域服务器仅支持ClientProtocol和AdminProtocol。 稍后,HRegion可以直接使用PB消息。 更多细节请访问https://issues.apache.org/jira/browse/HBASE-5889 如果你使用它的任何方法,你可以在这里发布。 并且有人可以帮助您找到替代方案。 This interface was just removed. As a ...
  • 结束离线修复工具: hbase org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair 它现在解决了我所有的问题,但我想看看其他选择。 Ended with offline repair tool: hbase org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair It fixed all my problems for now but I'd like to see other options.
  • 从Hive 0.14开始可以使用DELETE。 删除只能在支持ACID的表上执行。 有关详细信息,请参阅Hive事务 至于你的查询尝试类似的东西 DELETE FROM TABLE WHERE TABLE.a IN (SELECT foo FROM B); 要么 DELETE FROM T1 WHERE EXISTS (SELECT B FROM T2 WHERE T1.X = T2.Y) DELETE is available starting in Hive 0.14. Deletes can on ...
  • 我试图通过客户端0.96连接到HBase 0.94。 根据https://blog.cloudera.com/blog/2013/10/what-are-hbase-znodes/ znode / hbase / root-region-server在0.96 / hbase / meta-region-server中替换, java客户端无法找到。 I had tryied to connect to HBase 0.94 by client 0.96. And acording to https://b ...