Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.
03-20-2020 05:23 AM
Hi, We are using neo4j 2.3.12. Now we planning to upgrade, and the recommended upgrade path is 2.3.12 to 3.3.9. So once we upgrade to 3.3.9 (HA clustering) then, we want again to migrate to Casual clustering. So can I get some inputs?
Solved! Go to Solution.
03-21-2020 09:29 AM
https://neo4j.com/docs/operations-manual/3.3/upgrade/planning/#upgrade-planning-supported-upgrade-pa... describes the upgrade
Regarding conversion from HA to Causal there is not really so much a conversion. Rather you can simply take a running HA cluster, stop all members and then configure conf/neo4j.conf and disable HA and then enable Causal Cluster.
https://neo4j.com/docs/operations-manual/3.3/clustering/ describes enabling/configure of a Causal Cluster
03-21-2020 06:17 AM
Why 3.3.9 which is a bit old. https://neo4j.com/release-notes/neo4j-3-3-9/ reports it was made available November 2, 2018. Upgrading from 2.3.12 is great since its even older but by going to 3.3.9 you are upgrading to a release that is 1.5 yrs old.
As to the upgrade I would suggest a 2 step process as follows
a. first upgrade to 3.3.9 ( or a newer release ) and remain on HA Clustering.
b. once you are satisfied the upgrade to 3.3.9 ( or a new release ) on HA Clustering is satisfactory then convert to Causal Clustering. The conversion from HA to Causal should only require changes to your conf/neo4j.conf. The contents of graph.db remain the same whether in HA or Causal.
Architecturally it should also be noted that HA is different than Causal in that HA has a Master and Slaves whereas Causal has Leader and Followers. Further under HA a write can be sent to any cluster member (though ideally it is sent to Master) but Causal can only accept writes at the Leader. Causal along with the Neo4j Bolt Drivers does allow for a connection with a url of bolt+routing://<Neo4jInstance>:7687
and when including +routing
in the url rather than simply bolt://<Neo4jInstance>:7687
then when a write transaction is submitted it will automatically be routed to the cluster member which is the leader
even if the leader is not at . For this to occur however the Cypher needs to be sent explicitly as a write transaction, i.e. session.writeTransaction()
.
03-21-2020 07:54 AM
Thank you for your suggestions. To Answer Why 3.3.9, We seeing that is only the possible upgrade path to next latest release after 2.3.12. We eventually upgrade it further as well.
Could you elaborate more about the conversion steps/changes from HA to Casual cluster or guide me to a documentation if available.
03-21-2020 09:29 AM
https://neo4j.com/docs/operations-manual/3.3/upgrade/planning/#upgrade-planning-supported-upgrade-pa... describes the upgrade
Regarding conversion from HA to Causal there is not really so much a conversion. Rather you can simply take a running HA cluster, stop all members and then configure conf/neo4j.conf and disable HA and then enable Causal Cluster.
https://neo4j.com/docs/operations-manual/3.3/clustering/ describes enabling/configure of a Causal Cluster
03-21-2020 12:38 PM
also one noticeable difference between HA and Causal Cluster is that unlike HA where one can simply swap out a graph.db with another with little impact, under Causal Clustering you can't entirely do the same unless you unbind the Causal Cluster instance via bin/neo4j-admin unbind
https://neo4j.com/docs/operations-manual/3.3/clustering/causal-clustering/seed-cluster/
03-30-2020 08:25 PM
Sure.
Could you clarify on below as well...
While migrating from HA to Casual, do we need to bring down the entire cluster?
Is Casual cluster having Arbiter kind of support like HA?(to understand, how can we handle if we have 2 servers only to work with)
03-31-2020 11:08 AM
Causal Cluster does not have the same as a Arbiter instance.
Regarding
While migrating from HA to Casual, do we need to bring down the entire cluster?
you could have a HA cluster up and operational and as it is running make all the necessary changes to neo4j.conf so as to support a Causal Cluster. Stop the cluster and then restart with HA disabled and Causal enabled and it should come up
All the sessions of the conference are now available online