org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /hbase-secure/master

Apache's JIRA Issue Tracker | Ted Yu | 1 year ago
Click on the to mark the solution that helps you, Samebug will learn from it.
As a community member, you’ll be rewarded for you help.
  1. 0

    When the master process or region server process dies on Linux, we invoke: {code} if [ -f ${HBASE_ZNODE_FILE} ]; then if [ "$command" = "master" ]; then $bin/hbase master clear > /dev/null 2>&1 else #call ZK to delete the node ZNODE=`cat ${HBASE_ZNODE_FILE}` $bin/hbase zkcli delete ${ZNODE} > /dev/null 2>&1 fi rm ${HBASE_ZNODE_FILE} fi {code} We delete its znode from the process which started the server JVM for faster crash recovery. In secure deployment however, the second process does not authenticate to zookeeper properly and fails to delete the znode: {code} 2015-06-11 11:05:06,238 WARN [main-SendThread(ip-172-31-32-230.ec2.internal:2181)] client.ZooKeeperSaslClient: Could not login: the client is being asked for a password, but the Zookeeper client code does not currently support obtaining a password from the user. Make sure that the client is configured to use a ticket cache (using the JAAS config 2015-06-11 11:05:06,248 WARN [main-SendThread(ip-172-31-32-230.ec2.internal:2181)] zookeeper.ClientCnxn: SASL configuration failed: No password provided Will continue connection to Zookeeper server without SASL authentication, if Zookeeper server allows it. 2015-06-11 11:05:06,251 INFO [main-SendThread(ip-172-31-32-230.ec2.internal:2181)] zookeeper.ClientCnxn: Opening socket connection to server ip-172-31-32-230.ec2.internal/ 2015-06-11 11:05:06,263 INFO [main-SendThread(ip-172-31-32-230.ec2.internal:2181)] zookeeper.ClientCnxn: Socket connection established to ip-172-31-32-230.ec2.internal/, initiating session 2015-06-11 11:05:06,294 INFO [main-SendThread(ip-172-31-32-230.ec2.internal:2181)] zookeeper.ClientCnxn: Session establishment complete on server ip-172-31-32-230.ec2.internal/, sessionid = 0x14de1dd0f3200cf, negotiated timeout = 40000 2015-06-11 11:05:06,664 WARN [main] util.HeapMemorySizeUtil: is deprecated by 2015-06-11 11:05:09,070 WARN [main] zookeeper.ZooKeeperNodeTracker: Can't get or delete the master znode org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /hbase-secure/master at org.apache.zookeeper.KeeperException.create( at org.apache.zookeeper.KeeperException.create( at org.apache.zookeeper.ZooKeeper.delete( at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.delete( at org.apache.hadoop.hbase.zookeeper.ZKUtil.deleteNode( at org.apache.hadoop.hbase.zookeeper.MasterAddressTracker.deleteIfEquals( at org.apache.hadoop.hbase.ZNodeClearer.clear( {code} This is due to REGIONSERVER_OPTS / HBASE_MASTER_OPTS not being passed for invoking the zkcli command. Thanks to Enis who spotted the issue.

    Apache's JIRA Issue Tracker | 1 year ago | Ted Yu
    org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /hbase-secure/master

    1 unregistered visitors

    Root Cause Analysis

    1. org.apache.zookeeper.KeeperException$NoAuthException

      KeeperErrorCode = NoAuth for /hbase-secure/master

      at org.apache.zookeeper.KeeperException.create()
    2. Zookeeper
      1. org.apache.zookeeper.KeeperException.create(
      2. org.apache.zookeeper.KeeperException.create(
      3. org.apache.zookeeper.ZooKeeper.delete(
      3 frames
    3. HBase - Client
      1. org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.delete(
      2. org.apache.hadoop.hbase.zookeeper.ZKUtil.deleteNode(
      3. org.apache.hadoop.hbase.zookeeper.MasterAddressTracker.deleteIfEquals(
      3 frames
    4. HBase
      1. org.apache.hadoop.hbase.ZNodeClearer.clear(
      1 frame