表在HDFS上的目录被误删

我有个表在HDFS上的目录被误删,但是meta表信息还存在。因为这个表我有备份,但是现在无法创建同名新表。如何删除meta中关于这个表的信息

时间不再回头 - 一句话介绍

赞同来自:

hbck下应该可以修复,hbase hbck -repair。

存在 - 一句话介绍

赞同来自:

昨日repair后,HBase其它表有问题,然后我重启HBase,Master启动不了 9:55:54.406 AM  INFO  org.apache.hadoop.hbase.master.TableNamespaceManager   Namespace table not found. Creating... 9:55:54.437 AM  FATAL  org.apache.hadoop.hbase.master.HMaster   Failed to become active master org.apache.hadoop.hbase.TableExistsException: hbase:namespace at org.apache.hadoop.hbase.master.handler.CreateTableHandler.checkAndSetEnablingTable(CreateTableHandler.java:152) at org.apache.hadoop.hbase.master.handler.CreateTableHandler.prepare(CreateTableHandler.java:125) at org.apache.hadoop.hbase.master.TableNamespaceManager.createNamespaceTable(TableNamespaceManager.java:233) at org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:86) at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:897) at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:739) at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:169) at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1469) at java.lang.Thread.run(Thread.java:745) 9:55:54.446 AM  FATAL  org.apache.hadoop.hbase.master.HMaster   Master server abort: loaded coprocessors are: [] 9:55:54.446 AM  FATAL  org.apache.hadoop.hbase.master.HMaster   Unhandled exception. Starting shutdown. org.apache.hadoop.hbase.TableExistsException: hbase:namespace at org.apache.hadoop.hbase.master.handler.CreateTableHandler.checkAndSetEnablingTable(CreateTableHandler.java:152) at org.apache.hadoop.hbase.master.handler.CreateTableHandler.prepare(CreateTableHandler.java:125) at org.apache.hadoop.hbase.master.TableNamespaceManager.createNamespaceTable(TableNamespaceManager.java:233) at org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:86) at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:897) at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:739) at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:169) at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1469) at java.lang.Thread.run(Thread.java:745)。如果去zookeeper中把/hbase文件夹删掉会有问题吗?

史晓江

赞同来自:

所有表都误删了?包括hbase namespace下的?那需要清理下zookeeper,否则一些系统表无法创建

存在 - 一句话介绍

赞同来自:

就误删了一个表,只有一个表在线。

史晓江

赞同来自:

表名下面,master信息上面,有啥显示么。那就是没有执行加载region,找一个表在shell里enable下呢

存在 - 一句话介绍

赞同来自:

在shell下enable某表,Table XX does not exist

史晓江

赞同来自:

rs日志有啥异常么?还有master

存在 - 一句话介绍

赞同来自:

rs和master日志中根本没有其它表的信息,感觉就好像不知道这些表一样。shell命令中的list怎么获取表名的?desc是从meta表中获取表的结构?

史晓江

赞同来自:

hbase.client.start.log.errors.counter=1 hbase.client.retries.number=1 加上这两个,让hbck尽快抛出异常,看看为啥rpc失败吧

存在 - 一句话介绍

赞同来自:

ERROR: Region { meta =&get; hbase:meta,,1.1588230740, hdfs =&get; null, deployed =&get; zzy19,60020,1490782643590;hbase:meta,,1.1588230740, replicaId =&get; 0 } found in META, but not in HDFS, and deployed on zzy19,60020,1490782643590 Trying to fix unassigned region...

史晓江

赞同来自:

meta表数据被干掉了?

存在 - 一句话介绍

赞同来自:

现在meta表中只有新表的信息,那些老表信息都没有了

史晓江

赞同来自:

看这报错是meta表旧region不存在了呢。你试试把hbase停掉,清空zk,启动hbase,稳定后hbck吧

存在 - 一句话介绍

赞同来自:

宏哥,清空zk,启动hbase,然后hbck,还是不能找到旧表,能否读取旧表的表结构和region信息,然后再写入meta表中?

史晓江

赞同来自:

在hdfs上meta表目前几个region?

存在 - 一句话介绍

赞同来自:

 修复时 hbase:meta表下线老是失败 util.HBaseFsck: Offlining region hbase:meta,,1 老是失败 failed on local exception: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=92, waitTime=60001, operationTimeout=60000 expired.         at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:147)         at org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3678)         at org.apache.hadoop.hbase.client.HBaseAdmin.offline(HBaseAdmin.java:1941)         at org.apache.hadoop.hbase.util.HBaseFsck.offline(HBaseFsck.java:1804)         at org.apache.hadoop.hbase.util.HBaseFsck.undeployRegionsForHbi(HBaseFsck.java:1846)         at org.apache.hadoop.hbase.util.HBaseFsck.undeployRegions(HBaseFsck.java:1821)         at org.apache.hadoop.hbase.util.HBaseFsck.checkRegionConsistency(HBaseFsck.java:2126)         at org.apache.hadoop.hbase.util.HBaseFsck.checkAndFixConsistency(HBaseFsck.java:1709)         at org.apache.hadoop.hbase.util.HBaseFsck.onlineConsistencyRepair(HBaseFsck.java:598)         at org.apache.hadoop.hbase.util.HBaseFsck.onlineHbck(HBaseFsck.java:617)         at org.apache.hadoop.hbase.util.HBaseFsck.exec(HBaseFsck.java:4440)         at org.apache.hadoop.hbase.util.HBaseFsck$HBaseFsckTool.run(HBaseFsck.java:4243)         at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)         at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)         at org.apache.hadoop.hbase.util.HBaseFsck.main(HBaseFsck.java:4231)

史晓江

赞同来自:

请求rs超时,确认下rs有没有啥问题吧,感觉meta表状态不太对

存在 - 一句话介绍

赞同来自:

看了regionserver所有日志,目前都没有报错信息。在hbase hbck -fixMeta时报这个错误 2017-04-01 13:49:57,245 WARN  [main-SendThread(localhost:2181)] zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect java.net.ConnectException: Connection refused         at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)         at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)         at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)         at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)

存在 - 一句话介绍

赞同来自:

放弃了。 HBase目录证明全删了。

要回复问题请先登录注册