gpt4 book ai didi

docker - 尝试在JanusGraph-Docker中创建图形时连接被拒绝

转载 作者:行者123 更新时间:2023-12-02 19:55:48 25 4
gpt4 key购买 nike

我正在使用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')

这给了我以下信息:

Connection refused (Connection refused)



全栈跟踪:

java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.apache.thrift.transport.TSocket.open(TSocket.java:182) at org.apache.thrift.transport.TFramedTransport.open(TFramedTransport.java:81) at org.janusgraph.diskstorage.cassandra.thrift.thriftpool.CTConnectionFactory.makeRawConnection(CTConnectionFactory.java:110) at org.janusgraph.diskstorage.cassandra.thrift.thriftpool.CTConnectionFactory.makeObject(CTConnectionFactory.java:74) at org.janusgraph.diskstorage.cassandra.thrift.thriftpool.CTConnectionFactory.makeObject(CTConnectionFactory.java:43) at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1220) at org.janusgraph.diskstorage.cassandra.thrift.CassandraThriftStoreManager.getCassandraPartitioner(CassandraThriftStoreManager.java:215) at org.janusgraph.diskstorage.cassandra.thrift.CassandraThriftStoreManager.(CassandraThriftStoreManager.java:197) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.janusgraph.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:58) at org.janusgraph.diskstorage.Backend.getImplementationClass(Backend.java:440) at org.janusgraph.diskstorage.Backend.getStorageManager(Backend.java:411) at org.janusgraph.graphdb.configuration.builder.GraphDatabaseConfigurationBuilder.build(GraphDatabaseConfigurationBuilder.java:50) at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:161) at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:132) at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:79) at org.janusgraph.core.JanusGraphFactory$open.call(Unknown Source) at Script4.run(Script4.groovy:1) at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:674) at org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:376) at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0(GremlinExecutor.java:266) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)



我可以运行以下查询,因为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地址。

关于docker - 尝试在JanusGraph-Docker中创建图形时连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58117041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com