Support Questions

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

HBase "Master is initializing" error in pseudo-distributed mode

avatar
Explorer

Hello,

I am currently testing HBase for bulk loading purposes, and I am using the pseudo-distributed mode (single-host standalone) for my configuration. After completing all the configurations, I ran the jps command, which displayed all the necessary processes for testing, as shown below:

[super@dc1-apache-hbase bin]$ jps
25808 ResourceManager
25585 SecondaryNameNode
36961 HMaster
25203 NameNode
37347 Jps
25925 NodeManager
36805 HQuorumPeer
25334 DataNode
37135 HRegionServer
[super@dc1-apache-hbase bin]$

I did not use Zookeeper manually but instead set export HBASE_MANAGES_ZK=true. However, once I enter the HBase shell, I can list the tables but cannot create any new tables. The error displayed is as follows:

hbase:001:0> list
TABLE
0 row(s)
Took 0.7732 seconds
=> []
hbase:002:0>
hbase:003:0> create 'table_1','cf'

ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:3215)
at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:2330)
at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:694)
at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:415)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124)
at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:102)
at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:82)

I tried troubleshooting the issue based on suggestions found online, such as wiping the Zookeeper directory and restarting HBase, but this did not resolve the problem.

Here are the details of my setup:

  • Hadoop Version: 3.3.6
  • HBase Version: 2.5.10
  • Java Version: OpenJDK 1.8.0_422

Configurations

hbase-site.xml:

<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>

<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>hbase.wal.provider</name>
<value>filesystem</value>
</property>

<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/super/hbase/zookeeper</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>

<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>

hbase-env.sh:

export HBASE_OPTS="$HBASE_OPTS -Dlog4j.configuration=file:/home/super/hbase/conf/log4j2.properties"
export HBASE_LOG_DIR=/home/super/hbase/logs
export HBASE_LOG_PREFIX=hbase
export HBASE_ROOT_LOGGER="INFO,DRFA"
export HBASE_SECURITY_LOGGER="INFO,DRFA"
export JAVA_HOME=/usr/local/java-1.8.0-openjdk-1.8.0.422.b05-2.el9.x86_64
export HBASE_MANAGES_ZK=true

Could anyone please assist me in resolving this issue?  Additionally, if anyone has experience with using HBase with HDFS, could you please help me with the setup?

Thank you!

1 REPLY 1

avatar
Super Collaborator

You can check the Hbase Master log and verify of the hbase:meta and hbase:namespace tables are online.