0

我想知道是否有人已成功配置 Rexster-server 以使用 Neo4j-2.0.1-HA?我阅读了一些关于可比性的主题,但从未找到一个好的解决方案。

我从 master 中提取了最新的 rexster 源(2.5.0-SNAPSHOT)并构建了它。在配置 Neo4j2.0.1 和 rexster 后,尝试启动 rexster 时出现以下错误。

线程“主”java.lang.NoSuchMethodError 中的异常:org.neo4j.kernel.GraphDatabaseAPI.getNodeManager()Lorg/neo4j/kernel/impl/core/NodeManager;

Rexster 配置如下。

<graph>
            <graph-enabled>true</graph-enabled>
            <graph-name>KooboodleGraph</graph-name>
            <graph-type>neo4jgraph</graph-type>
            <graph-location>/mnt/neo4j/data/graph.db</graph-location>
            <!-- <graph-location>http://x.x.x.x:7474/db/data</graph-location> -->
        <graph-high-availability>true</graph-high-availability>
            <extensions>
                <allows>
                    <allow>tp:gremlin</allow>
                    <allow>zeus-v1:*</allow>
                </allows>
            </extensions>
        <properties>
            <neostore.nodestore.db.mapped_memory>285M</neostore.nodestore.db.mapped_memory>
                <neostore.relationshipstore.db.mapped_memory>285M</neostore.relationshipstore.db.mapped_memory>
                <neostore.propertystore.db.mapped_memory>100M</neostore.propertystore.db.mapped_memory>
                <neostore.propertystore.db.strings.mapped_memory>100M</neostore.propertystore.db.strings.mapped_memory>
                <neostore.propertystore.db.arrays.mapped_memory>10M</neostore.propertystore.db.arrays.mapped_memory>
                <neostore.propertystore.db.index.mapped_memory>10M</neostore.propertystore.db.index.mapped_memory>
                <neostore.propertystore.db.index.keys.mapped_memory>10M</neostore.propertystore.db.index.keys.mapped_memory>
            <ha.machine_id>1</ha.machine_id>
                <ha.server>x.x.x.x:6001</ha.server>
            <ha.cluster_server>x.x.x.x:5001-5099</ha.cluster_server>
                <ha.initial_hosts>x.x.x.x:5001,x.x.x.x:5001</ha.initial_hosts>
        </properties>
            <dependency>
                <groupId>org.neo4j</groupId>
                <artifactId>neo4j-ha</artifactId>
                <version>2.0</version>
                </dependency>
                <dependency>
                    <groupId>org.neo4j</groupId>
                <artifactId>neo4j-management</artifactId>
                <version>2.0</version>
            </dependency>   
        </graph>

任何帮助或想法将不胜感激。

谢谢!

4

3 回答 3

1

看起来 Rexter 依赖于 Neo4j 的非公共 API。由于 Neo4j 的许多内部结构都从 1.x -> 2.x 发生了变化,我猜 Rexter 没有跟进这些变化。例如GraphDatabaseAPI是非公共 API 的一部分。

Neo4j 的公共 API 记录在http://api.neo4j.org/

为了解决这个问题,需要对 Rexter 的代码库进行适当的修补。

于 2014-02-26T19:30:07.967 回答
1

请查看 Rexster 中专门用于 Neo4j2 的这个新分支:

https://github.com/tinkerpop/rexster/tree/neo4j2

Rexster 不以任何方式直接引用 Neo4j API(它仅在蓝图上运行),但是考虑到在 master 分支中的设置方式,存在许多命名冲突和发生的事情。我不完全确定 TinkerPop 最终将如何发布对 Neo4j2 的 Rexster 支持......有些人认为会有必要,但至少在那之前可以构建该分支以开始使用。

于 2014-02-26T21:56:55.107 回答
0

Rexster 配置是 ha.machine_id 但 Neo4j HA 配置是 ha.server_id,然后 Rexster+Neo4j2 然后 rexster.xml 包括它们两者。

于 2014-05-21T09:19:48.793 回答