0

使用 1.8.2 - 尝试设置(最初)一个 2 节点 HA 集群。

继“22.5.4. 以 HA 模式启动 Neo4j Embedded”一节

http://docs.neo4j.org/chunked/stable/ha-setup-tutorial.html

我在 pom.xml 中添加了以下内容:

<dependency>
   <groupId>org.neo4j</groupId>
   <artifactId>neo4j-ha</artifactId>
   <version>${neo4j-version}</version>
</dependency>

并将我的 application-content.xml 修改为以下内容:

<neo4j:config graphDatabaseService="graphDatabaseService" />

<context:property-placeholder 
        location="file:/etc/whiteRabbit.properties" />

<bean id="graphDatabaseService" class="org.neo4j.kernel.HighlyAvailableGraphDatabase"
                destroy-method="shutdown" scope="singleton">
                <constructor-arg index="0" value="${database.path}" />
                <constructor-arg index="1"> 
                        <map>
                                <entry key="ha.server_id" value="${server.id}"></entry>
                                <entry key="ha.server" value="${ha.server.address}:${ha.server.port}"></entry>
                                <entry key="ha.coordinators" value="${coordinators}"></entry>
                                <entry key="enable_remote_shell" value="port=1331"></entry>
                                <entry key="ha.pull_interval" value="1"></entry>
                        </map>
                </constructor-arg>
</bean>

/etc/whiteRabbit.properties 包含:

节点 1(地址:192.168.1.68)

server.id=1
ha.server.address=localhost
ha.server.port=6001
database.path=/databases/data/graph.db
coordinators=localhost:2181,192.168.1.100:2181

和节点 2(地址 192.168.1.100)

server.id=2
ha.server.address=localhost
ha.server.port=6001
database.path=/databases/data/graph.db
coordinators=localhost:2181,192.168.1.68:2181

当我启动每个实例时,我会得到正常的启动日志,然后

14:57:58.171 [localhost-startStop-1] INFO  neo4j - WARNING! Deprecated configuration options used. See manual for details

14:57:58.171 [localhost-startStop-1] INFO  neo4j - neo4j.ext.udc.disable has been replaced with neo4j.ext.udc.enabled

14:57:58.171 [localhost-startStop-1] INFO  neo4j - cannot configure writers and searchers individually since they go together

(只有前两个与 HA 的更改有关)

然后..什么都没有....(!)

启动只是停在那里。鉴于上述页面中独立服务器的设置配置提到启动协调器实例作为流程的单独部分,我需要在这里手动执行吗?还是应该照顾好自己?如何找到日志信息以开始了解为什么我只是看到节点挂起?如果我只启动一个节点,顺便说一句,行为没有什么不同——同样的挂起,在日志中的相同位置......

我猜我错过了一些简单的东西?

D

4

1 回答 1

1

您可以让您的 bean 拉入您的属性文件。还要做 HA,你使用 Class HighlyAvailableGraphDatabase。做这样的事情:

<bean id="configuration" class="org.neo4j.helpers.collection.MapUtil" factory-method="load">
    <constructor-arg value="/etc/whiteRabbit.properties" />
</bean>

<bean id="graphDatabaseService" class="org.neo4j.kernel.HighlyAvailableGraphDatabase" destroy-method="shutdown" scope="singleton">
    <constructor-arg name="storeDir" index="0" value="${database.path}" />
    <constructor-arg name="config" index="1" ref="configuration" />
</bean>

但是,configurationbean 应该指向一个neo4j.properties文件,您可以在该文件中包含上述所有属性。

于 2013-05-13T14:40:00.817 回答