我遵循这个例子;
https://github.com/JanusGraph/janusgraph/tree/master/janusgraph-examples/example-remotegraph
我想调试这个项目,我配置(HBase + Solr)并运行带有
的Janus Graph服务器$ JANUSGRAPH_HOME / bin / gremlin-server.sh $ JANUSGRAPH_HOME / conf / gremlin-server / gremlin-server.yaml
命令。 我通过运行配置>将此参数传递给IDEA程序参数
[Project Home] /conf/jgex-remote.properties
我的jgex-remote.properties文件是:
gremlin.remote.remoteConnectionClass=org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteConnection
# cluster file has the remote server configuration
gremlin.remote.driver.clusterFile=[Project Home]/conf/remote-objects.yaml
# source name is the global graph traversal source defined on the server
gremlin.remote.driver.sourceName=g
和我的remote-objects.yaml文件包括:
hosts: [127.0.0.1]
port: 8182
serializer: {
className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0,
config: {
ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry]
}
}
尝试运行此命令:
cluster = Cluster.open(conf.getString("gremlin.remote.driver.clusterFile"));
并抛出此异常:
线程“main”中的异常java.lang.NoSuchFieldError:V3_0 at org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0。(GryoMessageSerializerV3d0.java:41) 在 org.apache.tinkerpop.gremlin.driver.ser.Serializers.simpleInstance(Serializers.java:77) 在 org.apache.tinkerpop.gremlin.driver.Cluster $生成器。(Cluster.java:472) 在 org.apache.tinkerpop.gremlin.driver.Cluster $生成器。(Cluster.java:469) 在 org.apache.tinkerpop.gremlin.driver.Cluster.getBuilderFromSettings(Cluster.java:167) 在 org.apache.tinkerpop.gremlin.driver.Cluster.build(Cluster.java:159) 在org.apache.tinkerpop.gremlin.driver.Cluster.open(Cluster.java:233) 在 com.ets.dataplatform.init.RemoteGraphApp.openGraph(RemoteGraphApp.java:72) 在com.ets.dataplatform.init.GraphApp.runApp(GraphApp.java:290)at com.ets.dataplatform.init.RemoteGraphApp.main(RemoteGraphApp.java:195)
对我来说没有意义。
提前致谢。
答案 0 :(得分:2)
我会尝试调整你的版本。我假设你使用的是JanusGraph 0.2.0。如果您查看该版本的pom.xml
,您会看到它已绑定到TinkerPop 3.2.6:
https://github.com/JanusGraph/janusgraph/blob/v0.2.0/pom.xml#L68
在应用程序中更改为该版本,并查看连接是否有效。采用这种方法不仅应该解决您的问题,还要确保您不会遇到其他不兼容问题。这并不是说您无法配置更高版本的TinkerPop以使用3.2.6,但它需要更多配置,您必须了解可能影响某些操作可能行为的微小更改。 / p>