1

I recently added a table test while getting started on HBase.

I decided to reinstall HBase due to some issues.

After reinstalling and running the HBase shell I tried:

hbase(main):004:0> list
TABLE
0 row(s) in 0.0070 seconds

=> []

So there are no tables. Now I tried to add the table test

hbase(main):005:0> create 'test', 'testfamily'

ERROR: Table already exists: test!

I took a look into the log files and found the following entry

2018-06-21 07:53:30,646 WARN [ProcedureExecutor-2] procedure.CreateTableProcedure: The table test does not exist in meta but has a znode. run hbck to fix inconsistencies.

I ran it and got the following

$ hbase hbck test
Table hbase:meta is okay.
    Number of regions: 1
    Deployed on:  my_IP,16201,1529567081041 
0 inconsistencies detected.
Status: OK

I'm wondering if there's a way to remove the znode by hand?

Mikhail Kholodkov
  • 23,642
  • 17
  • 61
  • 78
hjonas
  • 141
  • 10

1 Answers1

0

I have also faced the same issue where it was showing the following error

The table does not exist in meta but has a znode. run hbck to fix inconsistencies.

The answer is obvious in the error only.

Inconsistency is caused as the table exist in your zookeeper quorum(distributed/pseudo distributed mode) or single zookeeper node(for standalone mode) but is not present in hbase .

So the solution will be to remove the table from zookeeper node.

To do so -

  1. Open zookeeper client. bin/zkCli.sh
  2. You can see all the tables which are picked by zookeeper by ls /hbase/table
  3. Try to find the table name mentioned in the error and run rmr /hbase/table/<table_name>.This will remove that table from the state of zookeeper.
  4. Try to create table again from Hbase.It will get created without any problem.