让Gremlin-Server和NEO4J服务器同时运行

时间:2018-03-16 03:54:32

标签: neo4j gremlin-server

目前我们似乎无法同时运行 Neo4J服务器 Gremlin服务器。有没有办法同时运行?

  1. NEO4J正在运行,我尝试启动Gremlin Server然后出现以下错误
  2.   

    java.lang.RuntimeException:GraphFactory无法实例化它   图实现[类   org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph] .......................(截短的)

    1. Gremlin Server正在运行,我尝试启动NEO4J Server然后出现以下错误
    2.   

      引起:org.neo4j.kernel.StoreLockException:存储及其锁定   文件已被另一个进程锁定:   /home/galaxia/Documents/neo4j-gremlin/data/databases/graph.db/store_lock。   请确保没有其他进程正在使用此数据库,并确保   目录是可写的(甚至对于只读访问也是必需的)

      版本

      • Neo4J 3.3.1
      • Gremlin 3.3.1

2 个答案:

答案 0 :(得分:2)

你不能以这种方式一起运行它们(例如嵌入模式),但如果你这样做的话,应该可以一起运行它们:

  1. 将Gremlin Server中的Neo4j图配置为使用HA模式,如here所述
  2. 在Gremlin Server中配置Neo4j图,以使用找到的Bolt实现here

答案 1 :(得分:1)

我意识到已经有一段时间了,但是我最终弄清楚了这一点,并认为其他人应该知道。正如Stephen Mallette所说,您可以使用Bolt实现。要为Gremlin Server进行配置,请使用随附的gremlin-server-neo4j.yaml文件并进行以下更改:

graphs: {
  graph: conf/neo4j-bolt.properties}

然后使用以下内容创建neo4j-bolt.properties文件:

gremlin.graph=com.steelbridgelabs.oss.neo4j.structure.Neo4JGraph
#neo4j.graph.name=graph.db
neo4j.identifier=dummy
neo4j.url=bolt://localhost:7687
neo4j.username=neo4j
neo4j.password=<password>
neo4j.readonly=false
neo4j.vertexIdProvider=com.steelbridgelabs.oss.neo4j.structure.providers.Neo4JNativeElementIdProvider
neo4j.edgeIdProvider=com.steelbridgelabs.oss.neo4j.structure.providers.Neo4JNativeElementIdProvider

记住要用正确的值替换密码和任何其他属性。