我首先在本地设置了一个独立的HBase,我可以在那里创建表并进行查询。
然后我使用docker image在本地设置JanusGraph。我遵循了这两方面的官方文件。我想我没有错过任何东西。它们各自完美地工作。
然后当我尝试从Gremlin控制台连接HBase时。连接被拒绝,它将继续重试连接。错误消息如下:
2 java.net.ConnectException: Connection refused
3 at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
4 at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:714)
5 at org.apache.hadoop.hbase.shaded.org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
6 at org.apache.hadoop.hbase.shaded.org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141)
7 21:31:46 WARN org.apache.hadoop.hbase.zookeeper.ReadOnlyZKClient - 0x3b97907c to localhost:2181 failed for get of /hbase/hbaseid, code = CONNECTIONLOSS, retries = 3
我的HBase
hbase网站。xml
文件采用官方文件中的以下格式:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/testuser/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/testuser/zookeeper</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
<description/>
</property>
</configuration>
我用于从Gremlin连接HBase的命令是:
JanusGraph graph = JanusGraphFactory.build().set("storage.backend", "hbase").open();
提前谢谢你的帮助!!