hadoop - HBase 与 Java 8 和 zookeeper 有问题

标签 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 警告真的很重要还是可以忽略?

最佳答案

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/

相关文章:

hadoop - 默认情况下,Hadoop的Datanode中的数据将比原始数据多多少倍?

sql - 在不同组中的数据类型之间进行比较时,如何处理潜在的数据丢失

java-8 - 为什么显示不推荐使用 hibernate-java8 (hibernate 5.x) jar?

java - JDK 7 中使用的 ZonedDateTime 和 ChronoUnit 的替代方案

java - HRegionInterface 在 Hbase1.1.1 中删除,替换它

hadoop - 将 Hadoop 作业输出重定向到文件

java - Hadoop MapReduce使用相同的键添加值-Java

java - SonarQube 4.0 与 java 8 兼容吗

java - Titan-1.0.0+Hbase-0.98.20使用java远程模式连接错误

database - 关于 hadoop、hbase 等非 sql 数据库的帮助