Сервер Gremlin с neo4j

Я пытаюсь использовать gremlin-server от tinkerpop. Я не могу запустить сервер gremlin с neo4j.

В документации сказано.

Обратите внимание, что TinkerPop не включает зависимости Neo4j в свои дистрибутивы. Чтобы использовать этот файл, убедитесь, что зависимости Neo4j установлены на путь сервера Gremlin с помощью gremlin-server.sh -i org.apache.tinkerpop neo4j-gremlin 3.y.z

Я уже установил neo4j-gremlin с помощью : install, так как -i считается устаревшим.

Тем не менее, я получаю следующую ошибку при выполнении следующей команды

.\bin\gremlin-server.bat .\conf\gremlin-server-neo4j.yaml

ОШИБКА

    [WARN] DefaultGraphManager - Graph [graph] configured at [conf/neo4j-empty.properties] could not be instantiated and will not be available in Gremlin Server.  GraphFactory message: GraphFactory could not find [org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph] - Ensure that the jar is in the classpath
java.lang.RuntimeException: GraphFactory could not find [org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph] - Ensure that the jar is in the classpath
    at org.apache.tinkerpop.gremlin.structure.util.GraphFactory.open(GraphFactory.java:63)
    at org.apache.tinkerpop.gremlin.structure.util.GraphFactory.open(GraphFactory.java:104)
    at org.apache.tinkerpop.gremlin.server.util.DefaultGraphManager.lambda$new$0(DefaultGraphManager.java:57)
    at java.util.LinkedHashMap$LinkedEntrySet.forEach(Unknown Source)
    at org.apache.tinkerpop.gremlin.server.util.DefaultGraphManager.<init>(DefaultGraphManager.java:55)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor.<init>(ServerGremlinExecutor.java:105)
    at org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor.<init>(ServerGremlinExecutor.java:84)
    at org.apache.tinkerpop.gremlin.server.GremlinServer.<init>(GremlinServer.java:111)
    at org.apache.tinkerpop.gremlin.server.GremlinServer.main(GremlinServer.java:355)
[INFO] ServerGremlinExecutor - Initialized Gremlin thread pool.  Threads in pool named with pattern gremlin-*
Exception in thread "main" java.lang.IllegalStateException: java.lang.ClassNotFoundException: org.apache.tinkerpop.gremlin.neo4j.jsr223.Neo4jGremlinPlugin
    at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.initializeGremlinScriptEngineManager(GremlinExecutor.java:444)
    at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.<init>(GremlinExecutor.java:103)
    at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.<init>(GremlinExecutor.java:72)
    at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor$Builder.create(GremlinExecutor.java:586)
    at org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor.<init>(ServerGremlinExecutor.java:157)
    at org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor.<init>(ServerGremlinExecutor.java:84)
    at org.apache.tinkerpop.gremlin.server.GremlinServer.<init>(GremlinServer.java:111)
    at org.apache.tinkerpop.gremlin.server.GremlinServer.main(GremlinServer.java:355)
Caused by: java.lang.ClassNotFoundException: org.apache.tinkerpop.gremlin.neo4j.jsr223.Neo4jGremlinPlugin
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.initializeGremlinScriptEngineManager(GremlinExecutor.java:407)
    ... 7 more

person Kaushik Nath    schedule 20.06.2017    source источник
comment
что находится в вашем GREMLIN_SERVER_INSTALL/ext каталоге? вы видите каталог neo4j и связанные с ним файлы? Кроме того, вы упомянули об использовании gremlin-server.sh, но затем также указали использование .bat для запуска - это среда Windows или что-то еще?   -  person stephen mallette    schedule 20.06.2017
comment
Я использую среду Windows. Мне не удалось найти каталог neo4j в папке / ext. Но эти файлы были установлены в консоли Gremlin. Исправлением было простое копирование из каталога консоли в каталог сервера. Спасибо за направление.   -  person Kaushik Nath    schedule 20.06.2017
comment
Вы говорите, что gremlin.bat :install помещает jar-файлы neo4j в каталог, отличный от GREMLIN_SERVER_INSTALL/ext?   -  person stephen mallette    schedule 20.06.2017
comment
gremlin-server.bat :install вообще не работает. Это проблема. Вот почему мне не удалось установить зависимости neo4j на сервер gremlin. Итак, я пытался установить neo4j со стороны консоли, и это сработало. Затем я скопировал папку neo4j с консоли gremlin на сервер   -  person Kaushik Nath    schedule 21.06.2017


Ответы (2)


:install - консольная команда.

install - это серверная команда. -i тоже все еще работает.

person Robert Dale    schedule 21.06.2017

Как участник проекта github gremlin-python-tutorial, я отвечу, что посмотрю на соответствующие строки

https://github.com/WolfgangFahl/gremlin-python-tutorial/blob/master/run

сценарий.

  version=3.4.3
  plugin=neo4j-gremlin
  gsd=apache-tinkerpop-gremlin-server-${version}
  if [ ! -d $gsd/ext/$plugin ]
  then
    color_msg $blue "installing plugin $plugin"
    $gsd/bin/gremlin-server.sh install org.apache.tinkerpop $plugin $version
  else
    color_msg $green "$plugin plugin already installed"
  fi
  color_msg $blue "starting neo4j gremlin-server ..."
  conf=$(realpath $gsd/conf/gremlin-server-neo4j.yaml)
  $gsd/bin/gremlin-server.sh $conf

В разделе Neo4J http://wiki.bitplan.com/index.php/Gremlin_python#Connecting_to_Gremlin_enabled_graph_databases вы найдете объяснение

Пожалуйста, не проверяйте, содержит ли каталог ext установку (см. Вопрос Стивена Маллетта в комментарии выше).

person Wolfgang Fahl    schedule 21.09.2019