我正在使用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地址,可以是localhost
或127.0.0.1
或服务器在网络上连接到的IP地址。但是,不能在客户端到服务器的连接字符串中使用0.0.0.0
,因为这不是要连接的有效IP地址。