Table is neither enables nor disabled in HBase

两盒软妹~` 提交于 2020-01-12 14:53:10

问题


I am facing a weird problem. I was accessing my HBase tables through an API. Midway during execution I got a RegionNotServing for my table 'x'. But My HRegionServers were working fine.

When I tried to list the tables from HBase Shell I could not find my table 'x'. When I tried to Disable my table 'x' it threw a TableNotEnabledException and when I tried to Enable my table 'x' it threw me a TableNotDisabledException.

Attached is the Exeption I got:

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> 

回答1:


I had a similar issue before. The problem was because Zookeeper was holding the table. So I deleted the table manually by following the below steps

  1. Enter into hbase zookeper client mode using hbase zkcli command
  2. Delete the table using the command delete /hbase/table/x



回答2:



I had faced similar issue on Production. The problem was specific Hbase Table Meta corrupted. So I deleted the table manually from zookeeper using below

1. Enter into hbase zookeper client mode using hbase zkcli command

2. Delete the table using the command delete /hbase/table/x

3. Delete the table using the command delete /hbase/table-lock/x


After following above command, restarted Hbase but issue still appeared so I deleted region of Hbase Table from Hbase system Table using below

1. Enter into hbase using hbase shell command

2. Delete the Table Regions which is stuck in transition state using below command

deleteall 'hbase:meta','XXX,Table_region.'




回答3:


I just had this issue and it turned out that a region server was up but not able to be reached for some reason. Rather than try and debug this, I restarted the region server and this fixed everything.

Sequence of events:

  1. Something happened to make the region server get into a bad state where it was reported up but unreachable
  2. Tried to disable a table while that region server was in the bad state (unbeknownst to me at the time). Got an RPC timeout error
  3. Tried to drop the table, got error "table is not enabled or disabled". HBase UI was reporting 'unknown' compaction status for that table
  4. Noticed a failed bulk load job that said it could not reach the specific region server
  5. Restarted region server
  6. HBase UI now reported table as 'none' for compaction, enables/disables/drops worked in shell


来源:https://stackoverflow.com/questions/14557742/table-is-neither-enables-nor-disabled-in-hbase

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!