Требует ли кластеризация Neo4j как минимум 3 узла?

Я играю с кластеризацией высокой доступности Neo4J. Хотя в документации указано, что для кластера требуется как минимум 3 узла или 2 с арбитром, мне интересно, каковы последствия работы только с 2 узлами?

Если я установил кластер из 3 узлов и удалил узел, у меня не возникнет проблем с добавлением данных. Аналогично, если я настроил кластер только с двумя узлами, я все еще могу добавлять данные и, по-видимому, функциональность не ограничена. Что я должен ожидать, чтобы испытать как ограничения? Например, следующее указывает трассировку подчиненного устройства, запущенного в кластере из 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 ответа

Нет никаких последствий с точки зрения функциональности сервера Neo4j.

Но с точки зрения высокой доступности лучше иметь в кластере более двух серверов.

Если между двумя узлами произошел сбой в сети, и они работают, но не могут видеть друг друга, они оба будут продвигаться к мастеру.

Это может привести к проблемам реформирования кластера при восстановлении сети.

Добавление 3-го узла гарантирует, что только один из 3-х узлов может быть ведущим.

Другие вопросы по тегам