我正面临着一个奇怪的问题。我通过一个应用程序接口访问我的HBase表。在执行过程中,我得到了表'x‘的RegionNotServing。但是我的HRegionServers运行得很好。
当我试图列出HBase外壳中的表时,我找不到我的表'x‘。当我试图禁用我的表'x‘时,它抛出了一个TableNotEnabledException,当我试图启用我的表'x’时,它抛出了一个TableNotDisabledException。
附件是我得到的Exeption:
hbase(main):002:0> disable 'x'
ERROR: org.apache.hadoop.hbase.TableNotEnabledException: org.apache.hadoop.hbase.TableNotEnabledException: x
at org.apache.hadoop.hbase.master.handler.DisableTableHandler.<init>(DisableTableHandler.java:75)
at org.apache.hadoop.hbase.master.HMaster.disableTable(HMaster.java:1154)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1336)
Here is some help for this command:
Start disable of named table: e.g. "hbase> disable 't1'"
hbase(main):003:0> enable 'x'
ERROR: org.apache.hadoop.hbase.TableNotDisabledException: org.apache.hadoop.hbase.TableNotDisabledException: x
at org.apache.hadoop.hbase.master.handler.EnableTableHandler.<init>(EnableTableHandler.java:74)
at org.apache.hadoop.hbase.master.HMaster.enableTable(HMaster.java:1142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1336)
Here is some help for this command:
Start enable of named table: e.g. "hbase> enable 't1'"
hbase(main):004:0> 发布于 2013-01-28 16:12:46
我以前也遇到过类似的问题。问题是因为Zookeeper拿着桌子。因此,我按照以下步骤手动删除了该表
hbase zkcli命令进入hbase zookeper客户端模式使用delete /hbase/table/x命令
发布于 2020-03-11 18:56:21
下面的步骤对我很有用:
get 'hbase:meta', '<AFFECTED_TABLE_NAME>', 'table:state',该值应为\x08\x00 (已启用)或\x08\x01
发布于 2019-11-22 10:37:35
我在生产上也遇到过类似的问题。问题是特定的Hbase表元数据已损坏。因此,我使用以下命令从zookeeper中手动删除了该表
进入hbase zookeper客户端模式
删除表
使用命令delete /hbase/table-lock/x删除表
执行上述命令后,重新启动Hbase,但问题仍然出现,因此我使用下面的命令从Hbase系统表中删除了Hbase表的区域
进入hbase
删除处于过渡状态的表区域
删除所有'hbase:meta','XXX,Table_region‘
https://stackoverflow.com/questions/14557742
复制相似问题