Hbase Error "ERROR: KeeperErrorCode = NoNode for /hbase/master"

20,644

Solution 1

In my case I was receiving this "ERROR: KeeperErrorCode = NoNode for /hbase/master" because HMaster process was not running.

Check with jps command.

hdusr@hdp-master-1:$ jps
27504 Main
32755 DataNode
23316 HQuorumPeer
27957 Jps
646 SecondaryNameNode
27097 HMaster
23609 HRegionServer
1562 Master
1722 Worker
911 ResourceManager
32559 NameNode
1167 NodeManager

If you don't see HMaster process as in above list then that's the reason for ERROR: KeeperErrorCode = NoNode. in hbase shell.

In $HBASE_HOME/logs directory check for hbase-***-master.log for specific error.

In my case there were 2 reasons ,

First :

WARN  [main-SendThread(localhost:2181)] zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection timed out

Which I solved by replacing 'localhost' with 'my machine's hostname' in hbase-site.xml. from this answer

Second :

    ERROR [master/spark-hdp-master-1:16000:becomeActiveMaster] master.HMaster: Failed to become active masterorg.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): org.apache.hadoop.security.AccessControlException: SIMPLE authentication is not enabled.  Available:[TOKEN]

This was because the hdfs port in hbase-site.xml was different than that in core-site.xml of hadoop.

Solution 2

replace or add these configuration to the hbase-site.xml file in the conf folder of hbase dir, and then rerun the "hbase shell" command and then "list" command to view the tables present.

<?xml version="1.0" encoding="utf-8" ?>

<!--Keeper Error fix-->
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://localhost:8020/hbase</value>
    </property>
        <property>
        <name>hbase.zookeeper.quorum</name>
        <value>localhost</value>
    </property>
        <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2182</value>
    </property>
            <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/var/lib/hbase/zookeeper</value>
    </property>
</configuration>
Share:
20,644
user7413163
Author by

user7413163

Updated on December 22, 2021

Comments

  • user7413163
    user7413163 over 2 years

    While executing any command in hbase shell, I am receiving the following error "ERROR: KeeperErrorCode = NoNode for /hbase/master" in hbase shell.

    Started HBASE :

        HOSTCHND:hbase-2.0.0 gvm$ ./bin/start-hbase.sh
        localhost: running zookeeper, logging to /usr/local/Cellar/hbase-2.0.0/bin/../logs/hbase-gvm-zookeeper-HOSTCHND.local.out
        running master, logging to /usr/local/Cellar/hbase-2.0.0/logs/hbase-gvm-master-HOSTCHND.local.out
        : running regionserver, logging to /usr/local/Cellar/hbase-2.0.0/logs/hbase-gvm-regionserver-HOSTCHND.local.out
    

    While Checking status in HBASE SHELL :

        hbase(main):001:0> status
    
        ERROR: KeeperErrorCode = NoNode for /hbase/master
    
        Show cluster status. Can be 'summary', 'simple', 'detailed', or 'replication'. The
        default is 'summary'. Examples:
    
        hbase> status
        hbase> status 'simple'
        hbase> status 'summary'
        hbase> status 'detailed'
        hbase> status 'replication'
        hbase> status 'replication', 'source'
        hbase> status 'replication', 'sink'
    
       Took 9.4096 seconds                                                             
       hbase(main):002:0> 
    

    hbase-site.xml

    <configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://localhost:9000/hbase</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/usr/local/Cellar/hbase-2.0.0/hbasestorage/zookeeper</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>localhost</value>
    </property>
    </configuration>
    

    Please let me know why this error happens while executing hbase commands?