NoSuchColumnFamily Exception: Column family table does not exist HBase

You may encounter an exception like this:

org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family table does not exist in region hbase:meta,,1.1588230740 in table 'hbase:meta', {TABLE_ATTRIBUTES => {IS_META => 'true', coprocessor$1 => '|org.apache.hadoop.hbase.coprocessor.MultiRowMutationEndpoint|536870911|'}, {NAME => 'info', BLOOMFILTER => 'NONE', VERSIONS => '10', IN_MEMORY => 'true', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', CACHE_DATA_IN_L1 => 'true', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '8192', REPLICATION_SCOPE => '0'}
        at org.apache.hadoop.hbase.regionserver.HRegion.checkFamily(HRegion.java:7894)
        at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:6925)
        at org.apache.hadoop.hbase.regionserver.RSRpcServices.get(RSRpcServices.java:2027)
        at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33644)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2191)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163)

Most likely, you have a versioning problem: you are using hbase-client version 2.x.x with the server version 1.x.x. Also, you are trying to call HBase Admin API functions.

The fact is that the hbase-client version 2.x.x can send only regular get, scan, put, delete requests to the hbase 1.x.x server, and the Admin API doesn’t work. Confirmation: https://issues.apache.org/jira/browse/HBASE-19145.

Possible solutions to the problem:

  • If you have the ability to install the hbase-client 1.x.x version, install it;
  • If this is not possible, and you definitely need to use the hbase-client 2.x.x version (for example, because of the shadow protobuf classes, added since 2.x.x) – do not use the Admin API;
  • If you still need to use the Admin API and need to use hbase-client 2.x.x, upgrade your HBase server to version 2.x.x.

If you still have any questions, feel free to ask me in the comments under this article, or write me on promark33@gmail.com.

If I saved your day, you can support me :)

Leave a Reply

Your email address will not be published.