场景
- 使用hbase后端存储,在gremlin命令行打开图的操作。
- HBase服务正常,能使用hbase shell进行操作
问题
E05:使用gremlin open图时报错org.apache.zookeeper.KeeperException$NoNodeException
详细报错日志:
java.util.concurrent.ExecutionException: org.apache.hadoop.hbase.shaded.org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /hbase/hbaseid
at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
……
Caused by: org.apache.hadoop.hbase.shaded.org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /hbase/hbaseid
at org.apache.hadoop.hbase.shaded.org.apache.zookeeper.KeeperException.create(KeeperException.java:111)
关键信息有:
NodeException: KeeperErrorCode = NoNode for /hbase/hbaseid
解决方案
既然zookeeper和hbase服务均正常,检查Hbase的配置:
<property>
<name>zookeeper.znode.parent</name>
<value>/hbase-xxx</value>
</property>
修改hbase-site.xml
集群安装用户请通过管理页面修改HBase这个配置!
发现这里并非是报错日志指向的/hbase/hbaseid
,而是/hbase-xxx
目录。
这里把zookeeper.znode.parent改为/hbase,重启hbase之后这个报错就没有了!
在页面看到的zookeeper.znode.parent值是/hbase-unsecure,改为/hbase。
或者更正规的解法是
@小样
在官网看到一个参数,storage.hbase.ext.zookeeper.znode.parent ,在配置文件把这个参数的值设置为与zookeeper.znode.parent的值相同也可以解决!
2019-11-11更新
原因
还不知道,可能hbase升级后默认配置有变动,之前是没有异常的。
源自个人博客,欢迎访问:kelvin-qzy.top/