我有一個非常簡單的Neo4j HA設置,帶有一個主實例和一個嵌入式HA實例,我想用它來批量加載數據。這裏的主實例配置(一個我推出「正常」,作爲Windows服務):Neo4j HA(2.0-快照),超時等待羣集選舉主人
node_auto_indexing=true
node_keys_indexable=key,entity,annotation
relationship_auto_indexing=true
relationship_keys_indexable=key, weight, label
keep_logical_logs=true
online_backup_enabled=true
ha.server_id=1
ha.initial_hosts=:5001
ha.server=0.0.0.0:6001
ha.cluster_server=:5001
ha.pull_interval=10
ha.tx_push_factor=0
ha.tx_push_strategy=fixed
cypher_parser_version=2.0
remote_shell_enabled=true
remote_shell_port=1377
org.neo4j.server.database.mode=HA
我希望能夠啓動和停止對需求的嵌入式之一。因此,這裏是我在Java應用程序中加載配置:
node_auto_indexing=true
node_keys_indexable=key,annotation
relationship_auto_indexing=true
relationship_keys_indexable=key, weight, label
keep_logical_logs=true
org.neo4j.server.database.mode=HA
ha.server_id=2
ha.slave_only=true
ha.initial_hosts=:5001
ha.server=:6002
ha.cluster_server=:5002
ha.pull_interval=10
cypher_parser_version=2.0
的想法是能夠推出第一(窗口服務)的實例作爲單一/獨立的節點並在需要時啓動批量加載器。
問題
我能成功地推出Windows服務和消防查詢如常。當我開始我的應用程序時,它連接得很好並且扮演一個從節點的角色。我可以加載我的數據沒有問題,主節點似乎是同步的,工作正常。現在,如果Java應用程序崩潰以任何理由或飾面和關閉,主實例停止工作,對任何的Cypher查詢將返回以下跟蹤:
TransactionFailureException
Timeout waiting for cluster to elect master
StackTrace:
org.neo4j.kernel.ha.HighlyAvailableGraphDatabase.beginTx(HighlyAvailableGraphDatabase.java:207)
org.neo4j.kernel.TransactionBuilderImpl.begin(TransactionBuilderImpl.java:39)
org.neo4j.kernel.InternalAbstractGraphDatabase.beginTx(InternalAbstractGraphDatabase.java:882)
org.neo4j.cypher.ExecutionEngine.prepare(ExecutionEngine.scala:102)
org.neo4j.cypher.ExecutionEngine.execute(ExecutionEngine.scala:70)
org.neo4j.cypher.ExecutionEngine.execute(ExecutionEngine.scala:85)
org.neo4j.cypher.javacompat.ExecutionEngine.execute(ExecutionEngine.java:80)
org.neo4j.server.rest.web.CypherService.cypher(CypherService.java:95)
java.lang.reflect.Method.invoke(Unknown Source)
org.neo4j.server.rest.security.SecurityFilter.doFilter(SecurityFilter.java:112)
難道我做錯什麼事在我的配置?
Btw .:如果我重新啓動第二個實例,則主實例返回到「normal」。
感謝您的信息。因此,任何HA設置的最小值都是兩個節點,它們必須始終保持一致。 – Michael
@ rickard-berg您能否提供一些指導,如何啓動仲裁實例?我也瀏覽了官方文檔,但無法在上面回答。 – agpt