Janus Graph Удаленный график NoSuchFieldError: ошибка V3_0 - PullRequest
0 голосов
/ 13 июня 2018

Я следую этому примеру;

https://github.com/JanusGraph/janusgraph/tree/master/janusgraph-examples/example-remotegraph

и я хотел бы отладить этот проект, я настроил (HBase + Solr) и запустил сервер Graph Janus с

$ 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.jinkerpache. org.pache.41) или at)..gremlin.driver.ser.Serializers.simpleInstance (Serializers.java:77) в org.apache.tinkerpop.gremlin.driver.Cluster $ Builder. (Cluster.java:472) в org.apache.tinkerpop.gremlin.driver.Cluster $ Builder. (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) в com.ets.dataplatform.init.RemoteGraphApp.main (RemoteGraphApp.java:195)

Это не имеет смысла для меня.

Заранее спасибо.

1 Ответ

0 голосов
/ 15 июня 2018

Я бы попробовал выровнять ваши версии.Я предполагаю, что вы используете 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, но для этого требуется немного больше настроек, и вы должны знать о незначительных изменениях, которые могут повлиять на поведение определенных операций.

...