Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
让Gremlin服务器和NEO4J服务器同时运行_Neo4j_Gremlin Server - Fatal编程技术网

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

让Gremlin服务器和NEO4J服务器同时运行,neo4j,gremlin-server,Neo4j,Gremlin Server,目前看来,我们无法同时运行Neo4J服务器和Gremlin服务器。有没有办法把这两个都跑完 NEO4J正在运行,我尝试启动Gremlin服务器,然后出现以下错误 java.lang.RuntimeException:GraphFactory无法实例化此 图形实现[class] org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph]………(截断) Gremlin服务器正在运行,我尝试启动NEO4J服务器,然后出现以下错误 原因:org.ne

目前看来,我们无法同时运行Neo4J服务器和Gremlin服务器。有没有办法把这两个都跑完

  • NEO4J正在运行,我尝试启动Gremlin服务器,然后出现以下错误
  • java.lang.RuntimeException:GraphFactory无法实例化此 图形实现[class] org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph]………(截断)

  • Gremlin服务器正在运行,我尝试启动NEO4J服务器,然后出现以下错误
  • 原因:org.neo4j.kernel.StoreLockException:存储及其锁 文件已被另一个进程锁定: /home/galaxia/Documents/neo4j gremlin/data/databases/graph.db/store_lock。 请确保没有其他进程正在使用此数据库,并且 目录是可写的(即使是只读访问也需要)


    版本

    • Neo4J 3.3.1
    • 小精灵3.3.1

    您不能以这种方式(即嵌入式模式)同时运行它们,但如果您:

  • 如前所述,在Gremlin服务器中配置Neo4j图形以使用HA模式
  • 在Gremlin服务器中配置Neo4j图以使用找到的Bolt实现
  • 在提供给Gremlin服务器的Neo4j属性文件中启用Bolt协议 作为第三个选项的示例,给定Neo4j的默认Gremlin Server打包配置文件,您可以编辑
    conf/Neo4j empty.properties
    以包括:

    gremlin.graph=org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph
    gremlin.neo4j.directory=/tmp/neo4j
    gremlin.neo4j.conf.dbms.connector.0.type=BOLT
    gremlin.neo4j.conf.dbms.connector.0.enabled=true
    gremlin.neo4j.conf.dbms.connector.0.address=localhost:7687
    

    然后用
    bin/Gremlin-Server.sh conf/Gremlin-Server-neo4j.yaml启动Gremlin服务器,此时您可以对同一图形实例使用标准TinkerPop驱动程序和标准Bolt连接。

    我意识到这已经有一段时间了,但我最终发现了这一点,并认为其他人应该知道。正如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
    
    gremlin.graph=com.steelbridgelabs.oss.neo4j.structure.Neo4JGraph
    #neo4j.graph.name=graph.db
    neo4j.标识符=虚拟
    neo4j.url=bolt://localhost:7687
    neo4j.username=neo4j
    neo4j.密码=
    neo4j.readonly=false
    neo4j.vertexIdProvider=com.steelbridgelabs.oss.neo4j.structure.providers.neo4jnativeeelementidProvider
    neo4j.edgeIdProvider=com.steelbridgelabs.oss.neo4j.structure.providers.neo4jnativeelementdprovider
    

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

    HA不起作用,因为我在社区版,将尝试“SteelBridgeLabs”提供的BoltBolt,是不是官方库?neo4j不维护该实现,我希望比HA慢,但据我所知,只有这两种方法可以使这项工作顺利进行。我已经尝试了一段时间的bold插件,但没有找到任何方法将其与TinkerPop Python API结合使用。他们所做的bolt实现是特定于Java的。有什么出路吗?如果您将Gremlin服务器中的bolt graph实现配置为图形实例,那么Gremlin python将连接到Gremlin服务器并使所有图形(包括bolt一个)对其可用