Jar*_*vis 0 java gremlin gremlin-server janusgraph
我有一个运行 gremlin-server 的 docker 容器。
它是通过以下方式启动的:
./bin/gremlin-server.sh conf/gremlin-server/gremlin-server.yaml
Run Code Online (Sandbox Code Playgroud)
从 docker 容器中,运行此图像:https : //hub.docker.com/r/janusgraph/janusgraph
服务器已启动并正在侦听端口 8182
$ docker ps
6019adda6081 janusgraph/janusgraph "docker-entrypoint.s…" 2 days ago Up 26 hours 0.0.0.0:8182->8182/tcp
Run Code Online (Sandbox Code Playgroud)
我对使用架构和索引感兴趣。
Janus 在这里提供:https : //docs.janusgraph.org/basics/schema/
以下是我用来尝试连接到 gremlin-server 的配置:
AbstractConfiguration config = new BaseConfiguration();
config.setListDelimiter('/');
// contents of conf/remote-graph.properties
config.setProperty("gremlin.remote.driver.sourceName", "g");
config.setProperty("gremlin.remote.remoteConnectionClass", "org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteConnection");
// contents of conf/remote-objects.yaml:
config.setProperty("clusterConfiguration.hosts", databaseUrl);
config.setProperty("clusterConfiguration.port", 8182);
config.setProperty("clusterConfiguration.serializer.className", "org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0/");
config.setProperty("storage.backend", "cql");
config.setProperty("clusterConfiguration.serializer.config.ioRegistries", "org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry");
Run Code Online (Sandbox Code Playgroud)
当我打电话
GraphTraversalSource g = traversal().withRemote(config);
Run Code Online (Sandbox Code Playgroud)
我得到了一个遍历源,一切似乎都很好。但是,要使用 Janus 提供的管理工具,我似乎需要一个JanusGraphManagement对象。我无法获取Graph上面的通用对象并将其转换为JanusGraph. 文档建议使用 JanusGraphFactory:https ://docs.janusgraph.org/basics/configuration/#janusgraphfactory
所以我打电话
JanusGraph janusGraph = JanusGraphFactory.open(config);
Run Code Online (Sandbox Code Playgroud)
我得到以下堆栈跟踪:
./bin/gremlin-server.sh conf/gremlin-server/gremlin-server.yaml
Run Code Online (Sandbox Code Playgroud)
是否可以通过远程连接修改架构?
如果不可能,如何修改架构?
任何见解将不胜感激。
您基本上有两种选择 - 要么:
JanusGraphManagement通过发送到 Gremlin Server的脚本与您的对象进行交互(通常通过会话的方式,但我想您可以将整个“管理脚本”打包在一起并作为一个请求提交)或JanusGraphManagement按照 JanusGraph 文档中的指示在本地实例化您的对象。无法将 a 返回JanusGraphManagement给您的客户端,因为它不是可以从服务器发回的可序列化对象。
| 归档时间: |
|
| 查看次数: |
330 次 |
| 最近记录: |