HBase与Java 8和zookeeper存在问题

时间:2017-01-07 13:34:40

标签: hadoop java-8 hbase apache-zookeeper

我想安装hbase 1.2.4。当我尝试运行bin/start-hbase.sh时,我收到以下警告。

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'

hbase shell命令生成大量众所周知的zookeeper异常......

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已经在运行。 hbase-site.xml包含以下内容。

   <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>

可能的解决方案是什么?关于VM的Java警告实际上是重要还是可以忽略?

1 个答案:

答案 0 :(得分:3)

Java 8中不再支持配置PermSize。hbase-env.sh状态:

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

hbase配置包括conf/hbase-env.sh文件中默认设置为128m的PermSize。 找出这两行。

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"

删除或评论它们,你们都完成了。警告并希望Zookeeper异常消失。