我想安装 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 警告真的很重要还是可以忽略?
最佳答案
Java 8 不再支持配置 PermSize。hbase-env.sh
指出:
#Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
hbase 配置包括在 conf/hbase-env.sh
文件中默认将 PermSize 设置为 128m。
只需找出这两行即可。
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 异常消失。
关于hadoop - HBase 与 Java 8 和 zookeeper 有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41522002/