2

我有一个包含 4 个 Neo4j 实例(v.1.9.3)的集群,具有以下 initial_host:

ha.initial_hosts=192.168.1.10:5001,192.168.1.10:5002,192.168.1.10:5003,192.168.1.10:5004  

我正在将此集群用于我的一个 spring 应用程序(使用 Spring-data-neo4j),为此我在 applicationContext 文件中保留了以下配置:

<bean id="graphDatabaseService" class="org.neo4j.kernel.HighlyAvailableGraphDatabase"
    destroy-method="shutdown" scope="singleton"> 
    <constructor-arg name="storeDir" index="0" value="E:/Neo4J Enterprise Edition/db1/data/graph.db" />
    <constructor-arg index="1">
        <map>
            <entry key="ha.server_id" value="5" />
            <entry key="ha.pull_interval" value="10" />
            <entry key="ha.server" value="192.168.1.10:6005" />
            <entry key="ha.initial_hosts" value="192.168.1.10:5001,192.168.1.10:5002,192.168.1.10:5003,192.168.1.10:5004" />
        </map>
    </constructor-arg>
</bean><neo4j:config graphDatabaseService="graphDatabaseService" />  

集群运行正常,实例之间的数据正确同步/复制。

现在是否可以共享集群或在同一个集群上运行另一个应用程序?
为了实现这一点,我为第二个应用程序编写了另一个配置,如下所示:

<bean id="graphDatabaseService" class="org.neo4j.kernel.HighlyAvailableGraphDatabase"
        destroy-method="shutdown" scope="singleton"> 
        <constructor-arg name="storeDir" index="1" value="E:/db_5/graph.db" />
        <constructor-arg index="2">
            <map>
                <entry key="ha.server_id" value="6" />
                <entry key="ha.pull_interval" value="10" />
                <entry key="ha.server" value="192.168.1.10:6006" />
                <entry key="ha.initial_hosts" value="192.168.1.10:5001,192.168.1.10:5002,192.168.1.10:5003,192.168.1.10:5004" />
            </map>
        </constructor-arg>
    </bean>
    <neo4j:config graphDatabaseService="graphDatabaseService" />  

但它总是以异常告终。以下是它的几行:

    Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.cluster.client.ClusterClient@9bad4f' was successfully initialized, but failed to start. Please see attached cause exception.
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:497)
    at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:104)
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:491)
    ... 78 more
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.cluster.client.ClusterJoin@c47498' was successfully initialized, but failed to start. Please see attached cause exception.
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:497)
    at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:104)
    at org.neo4j.cluster.client.ClusterClient.start(ClusterClient.java:421)
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:491)
    ... 80 more
Caused by: java.lang.IllegalStateException: i was denied entry
    at org.neo4j.cluster.protocol.cluster.ClusterState$2.handle(ClusterState.java:199)
    at org.neo4j.cluster.protocol.cluster.ClusterState$2.handle(ClusterState.java:121)
    at org.neo4j.cluster.statemachine.StateMachine.handle(StateMachine.java:88)
    at org.neo4j.cluster.StateMachines$1.run(StateMachines.java:135)
    ... 3 more  

第二个配置有什么问题吗?我访问了这个链接。并尝试更改ha.server_idha.server输入密钥并在同一域的两台不同机器上运行项目,但没有帮助。

谁能指出我在这里做错了什么?谢谢

4

0 回答 0