Neo4j集群需要至少3个节点吗?

3
我正在使用Neo4J高可用性集群。尽管文档表示集群至少需要3个节点或2个带有仲裁者的节点,但我想知道只使用2个节点的影响是什么?如果我设置了一个3个节点的集群并删除一个节点,我添加数据时没有任何问题。同样,如果我只使用2个节点设置集群,我仍然可以添加数据,并且似乎没有受到功能限制。那么我应该期望遇到哪些限制呢?例如,下面显示了在2个节点集群中启动从节点的跟踪。可以无问题地将数据添加到主节点并进行查询。
2013-11-06 10:34:50.403+0000 INFO  [Cluster] Attempting to join cluster of [127.0.0.1:5001, 127.0.0.1:5002]
2013-11-06 10:34:54.473+0000 INFO  [Cluster] Joined cluster:Name:neo4j.ha Nodes:{1=cluster://127.0.0.1:5001, 2=cluster://127.0.0.1:5002} Roles:{coordinator=1}
2013-11-06 10:34:54.477+0000 INFO  [Cluster] Instance 2 (this server) joined the cluster
2013-11-06 10:34:54.512+0000 INFO  [Cluster] Instance 1 was elected as coordinator
2013-11-06 10:34:54.530+0000 INFO  [Cluster] Instance 1 is available as master at ha://localhost:6363?serverId=1
2013-11-06 10:34:54.531+0000 INFO  [Cluster] Instance 1 is available as backup at backup://localhost:6366
2013-11-06 10:34:54.537+0000 INFO  [Cluster] ServerId 2, moving to slave for master ha://localhost:6363?serverId=1
2013-11-06 10:34:54.564+0000 INFO  [Cluster] Checking store consistency with master
2013-11-06 10:34:54.620+0000 INFO  [Cluster] The store does not represent the same database as master. Will remove and fetch a new one from master
2013-11-06 10:34:54.646+0000 INFO  [Cluster] ServerId 2, moving to slave for master ha://localhost:6363?serverId=1
2013-11-06 10:34:54.658+0000 INFO  [Cluster] Copying store from master
2013-11-06 10:34:54.687+0000 INFO  [Cluster] Copying index/lucene-store.db
2013-11-06 10:34:54.688+0000 INFO  [Cluster] Copied index/lucene-store.db
2013-11-06 10:34:54.688+0000 INFO  [Cluster] Copying neostore.nodestore.db
2013-11-06 10:34:54.689+0000 INFO  [Cluster] Copied neostore.nodestore.db
2013-11-06 10:34:54.689+0000 INFO  [Cluster] Copying neostore.propertystore.db
2013-11-06 10:34:54.689+0000 INFO  [Cluster] Copied neostore.propertystore.db
2013-11-06 10:34:54.689+0000 INFO  [Cluster] Copying neostore.propertystore.db.arrays
2013-11-06 10:34:54.690+0000 INFO  [Cluster] Copied neostore.propertystore.db.arrays
2013-11-06 10:34:54.690+0000 INFO  [Cluster] Copying neostore.propertystore.db.index
2013-11-06 10:34:54.690+0000 INFO  [Cluster] Copied neostore.propertystore.db.index
2013-11-06 10:34:54.690+0000 INFO  [Cluster] Copying neostore.propertystore.db.index.keys
2013-11-06 10:34:54.691+0000 INFO  [Cluster] Copied neostore.propertystore.db.index.keys
2013-11-06 10:34:54.691+0000 INFO  [Cluster] Copying neostore.propertystore.db.strings
2013-11-06 10:34:54.691+0000 INFO  [Cluster] Copied neostore.propertystore.db.strings
2013-11-06 10:34:54.691+0000 INFO  [Cluster] Copying neostore.relationshipstore.db
2013-11-06 10:34:54.692+0000 INFO  [Cluster] Copied neostore.relationshipstore.db
2013-11-06 10:34:54.692+0000 INFO  [Cluster] Copying neostore.relationshiptypestore.db
2013-11-06 10:34:54.692+0000 INFO  [Cluster] Copied neostore.relationshiptypestore.db
2013-11-06 10:34:54.692+0000 INFO  [Cluster] Copying neostore.relationshiptypestore.db.names
2013-11-06 10:34:54.693+0000 INFO  [Cluster] Copied neostore.relationshiptypestore.db.names
2013-11-06 10:34:54.693+0000 INFO  [Cluster] Copying nioneo_logical.log.v0
2013-11-06 10:34:54.693+0000 INFO  [Cluster] Copied nioneo_logical.log.v0
2013-11-06 10:34:54.693+0000 INFO  [Cluster] Copying neostore
2013-11-06 10:34:54.694+0000 INFO  [Cluster] Copied neostore
2013-11-06 10:34:54.694+0000 INFO  [Cluster] Done, copied 12 files
2013-11-06 10:34:55.101+0000 INFO  [Cluster] Finished copying store from master
2013-11-06 10:34:55.117+0000 INFO  [Cluster] Checking store consistency with master
2013-11-06 10:34:55.123+0000 INFO  [Cluster] Store is consistent
2013-11-06 10:34:55.124+0000 INFO  [Cluster] Catching up with master
2013-11-06 10:34:55.125+0000 INFO  [Cluster] Now consistent with master
2013-11-06 10:34:55.172+0000 INFO  [Cluster] ServerId 2, successfully moved to slave for master ha://localhost:6363?serverId=1
2013-11-06 10:34:55.207+0000 INFO  [Cluster] Instance 2 (this server) is available as slave at ha://localhost:6364?serverId=2
2013-11-06 10:34:55.261+0000 INFO  [API] Successfully started database
2013-11-06 10:34:55.265+0000 INFO  [Cluster] Database available for write transactions
2013-11-06 10:34:55.318+0000 INFO  [API] Starting HTTP on port :8574 with 40 threads available
2013-11-06 10:34:55.614+0000 INFO  [API] Enabling HTTPS on port :8575
2013-11-06 10:34:56.256+0000 INFO  [API] Mounted REST API at: /db/manage/
2013-11-06 10:34:56.261+0000 INFO  [API] Mounted discovery module at [/]
2013-11-06 10:34:56.341+0000 INFO  [API] Loaded server plugin "CypherPlugin"
2013-11-06 10:34:56.344+0000 INFO  [API] Loaded server plugin "GremlinPlugin"
2013-11-06 10:34:56.347+0000 INFO  [API] Mounted REST API at [/db/data/]
2013-11-06 10:34:56.355+0000 INFO  [API] Mounted management API at [/db/manage/]
2013-11-06 10:34:56.435+0000 INFO  [API] Mounted webadmin at [/webadmin]
2013-11-06 10:34:56.477+0000 INFO  [API] Mounting static content at [/webadmin] from [webadmin-html]
2013-11-06 10:34:57.923+0000 INFO  [API] Remote interface ready and available at [http://localhost:8574/]
2013-11-06 10:35:52.829+0000 INFO  [API] Available console sessions: SHELL: class org.neo4j.server.webadmin.console.ShellSessionCreator
CYPHER: class org.neo4j.server.webadmin.console.CypherSessionCreator
GREMLIN: class org.neo4j.server.webadmin.console.GremlinSessionCreator

谢谢

2个回答

0

如果两个节点之间发生了网络故障,它们仍在运行但彼此无法看到,则它们都会自动晋升为主节点。

这可能导致在网络恢复时重新形成集群时出现问题。

添加第三个节点可以确保只有其中一个节点可以成为主节点。


0

从功能上来说,Neo4j服务器没有任何影响。

但是,就高可用性而言,在集群中有两个以上的服务器更好。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接