我正在使用JanusGraph-Docker镜像(https://github.com/JanusGraph/janusgraph-docker)在Docker中设置JanusGraph。当我在没有docker的情况下使用JanusGraph时,对我来说一切正常,但是现在我遇到了一些问题:

我使用以下命令通过Cassandra + Elasticsearch设置janusgraph:

docker-compose -f docker-compose-cql-es.yml up

这将启动所有必需的容器,对此我进行了仔细检查:
docker ps

现在,我想使用以下命令通过Gremlin控制台连接到Janusgraph:
docker-compose -f docker-compose-cql-es.yml run --rm -e GREMLIN_REMOTE_HOSTS=janusgraph janusgraph ./bin/gremlin.sh

这将启动gremlin控制台,我使用以下命令配置 Remote :
:remote connect tinkerpop.server conf/remote.yaml
:remote console

哪个也很好。之后,我尝试创建一个新图,该图失败:
graph = JanusGraphFactory.open('conf/janusgraph-cassandra-es.properties')

这给了我以下信息:



全栈跟踪:



我可以运行以下查询,因为janusgraph服务器似乎预部署了带有遍历对象的图形:
g.addV('user').property('username','exampleUserName')

但是当我尝试使用以下命令从python gremlin连接时:
graph = Graph()
g = graph.traversal().withRemote(DriverRemoteConnection('ws://0.0.0.0:8182/gremlin','g'))

我收到相同的错误,有什么帮助吗?

最佳答案

请注意,当服务器0.0.0.0上侦听时,这意味着可以从运行它的计算机之外的其他计算机上访问它。侦听127.0.0.1的替代方法意味着只能从与服务器运行相同主机上的进程访问它。

但是,当您的客户端使用连接到服务器时,它必须指定其连接到的实际主机名或IP地址,可以是localhost127.0.0.1或服务器在网络上连接到的IP地址。但是,不能在客户端到服务器的连接字符串中使用0.0.0.0,因为这不是要连接的有效IP地址。

10-06 14:08