Search code examples
hadoopjava-8hbaseapache-zookeeper

HBase has issues with Java 8 and zookeeper


I want to install hbase 1.2.4. When I try to run bin/start-hbase.sh I get the following warnings.

OpenJDK 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0'

The hbase shell command generates a huge number of the well known zookeeper exceptions...

ERROR [main] zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 4 attempts
WARN  [main] zookeeper.ZKUtil: hconnection-0x1a96d94c0x0, quorum=localhost:2181, baseZNode=/hbase Unable to set watcher on znode (/hbase/hbaseid)

org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1045)
.....
.....

Hadoop is already running. hbase-site.xml contains the following.

   <property>
      <name>hbase.rootdir</name>
      <value>file:///usr/local/hbase</value>
   </property>
   <property>
      <name>hbase.zookeeper.property.dataDir</name>
      <value>/usr/local/hbase/zookeeper</value>
   </property>
   <property>
       <name>zookeeper.znode.parent</name>
       <value>/hbase</value>
   </property>

What could be the possible solution? Do the Java warnings about VM actually matter or could be ignored?


Solution

  • Configure PermSize is no longer supported in Java 8. hbase-env.sh states:

    #Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
    

    The hbase configurations include PermSize set to 128m by default in the conf/hbase-env.sh file. Just find out these two lines.

    export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
    export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
    

    Remove or comment them and you are all done. The warning and hopefully the Zookeeper exceptions disappear.