首页 > 解决方案 > janusgraph 无法连接到 /hbase/hbaseid 的 zk fo get

问题描述

我在本地启动了一个janusgraph单例并使用docker启动了hbase。(janusgraph和hbase在同一台机器上启动)

services:
    hbase2:
        image: harisekhon/hbase:2.1
        container_name: hbase2
        ports:
        - "12181:2181"
        - "18080:8080"
        - "18085:8085"
        - "19090:9090"
        - "19095:9095"
        - "26000:16000"
        - "26010:16010"
        - "26020:16020"
        - "26030:16030"
        - "26201:16201"
        - "26301:16301"  

并且 hbase 容器 id 是2743e52063e4.

我想使用janusgraph连接到hbase

gremlin.graph=org.janusgraph.core.JanusGraphFactory
storage.backend=hbase
storage.hostname=2743e52063e4
storage.port=12181

启动janusgraph时无法连接hbase,抛出

24303 [ReadOnlyZKClient-2743e52063e4:12181@0x085e6769] INFO  org.apache.hadoop.hbase.shaded.org.apache.zookeeper.ZooKeeper  - Initiating client connection, connectString=2743e52063e4:12181 sessionTimeout=90000 watcher=org.apache.hadoop.hbase.zookeeper.ReadOnlyZKClient$$Lambda$51/1936032171@6e0a682a
24303 [ReadOnlyZKClient-2743e52063e4:12181@0x085e6769] WARN  org.apache.hadoop.hbase.zookeeper.ReadOnlyZKClient  - 0x085e6769 to 2743e52063e4:12181 failed to connect to zk fo get of /hbase/hbaseid, retries = 2
java.net.UnknownHostException: 2743e52063e4
    at java.net.InetAddress.getAllByName0(InetAddress.java:1281)
    at java.net.InetAddress.getAllByName(InetAddress.java:1193)
    at java.net.InetAddress.getAllByName(InetAddress.java:1127)
    at org.apache.hadoop.hbase.shaded.org.apache.zookeeper.client.StaticHostProvider.<init>(StaticHostProvider.java:61)
    at org.apache.hadoop.hbase.shaded.org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:445)
    at org.apache.hadoop.hbase.shaded.org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:380)
    at org.apache.hadoop.hbase.zookeeper.ReadOnlyZKClient.getZk(ReadOnlyZKClient.java:317)
    at org.apache.hadoop.hbase.zookeeper.ReadOnlyZKClient.run(ReadOnlyZKClient.java:346)
    at java.lang.Thread.run(Thread.java:748)

标签: hbasejanusgraph

解决方案


您可以在您正在使用的 janusgraph-hbase.property 文件中添加以下配置。它可能会起作用。

    storage.hbase.ext.hbase.zookeeper.property.clientPort = 2181
    storage.hbase.ext.zookeeper.znode.parent = /hbase

注意:根据您的 HBASE 配置更新上述属性的值。

希望对你有效。


推荐阅读