Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

HBase Error Upon Docker Container Restart: Timedout waiting for namespace table to be assigned and enabled

avatar
New Contributor
 
Getting a strange error when attempting to restart HBase in a Docker environment. The sequence of events is as follows:
  1. Configure brand new HBase environment pointing to HDFS.
  2. docker compose up -> Environment starts with no issues. I can create tables using either hbase shell or Phoenix.
  3. docker compose down -> container shutdown sequence is hbase-region-1, hbase-master, zoo-1, data-nodes, namenode
  4. docker compose up -> HBase master times out after 5 mins with error: Timedout 300000ms waiting for namespace table to be assigned and enabled: tableName=hbase:namespace, state=ENABLED
  5. If I remove the /hbase directory from HDFS and restart the environment it will come back up and will be available until I restart the Docker environment again.

Original question asked here https://stackoverflow.com/questions/72462299/hbase-error-upon-docker-container-restart-timedout-wait.... Getting a similar error. 

 

2 REPLIES 2

avatar
Rising Star

Hi @Hilljairus 

Once the Hbase is started we need to confirm weather the active and standby master states showing, until unless the system tables (meta, namespace, and ACLs) are assigned the active and standby states of the master will not get.

 

Based on the shared exception the namespace table is not assigned, please check the master logs and make sure the namespace table is assigned or not, if it is not assigned please assign the namespace table to fix the issue.

avatar
New Contributor

Hello @PrathapKumar

Thank you for your response

It seems zookeeper is losing the hbase:meta table on docker restart. 
Before restart:

  1. Run the ZooKeeper shell hbase zkcli
  2. In the shell run ls /hbase/table
  3. Result:    [hbase:meta, personal, hbase:namespace

After restart the result is empty []. I wonder how I can persist the data on docker restart