25.2. HA Setup and configuration

Neo4j HA can be set up to accommodate differing requirements for load, fault tolerance and available hardware.

In HA mode, Neo4j instances form a cluster. The instances monitor each others' availability to take account of instances joining and leaving the cluster. They elect one instance to be the master, and designate the other instances to be slaves.

For installation instructions of a High Availability cluster see Section 25.6, “High Availability setup tutorial”.

Specifying cluster members

Specify the instances that should form the cluster by supplying ha.initial_hosts, a comma-separated list of URLs. When each instance starts, if it can contact any of the initial hosts, then it will form a cluster with them, otherwise it will start its own cluster.

Note that the parameter is called ha.initial_hosts because it’s only used when instances initially join the cluster. This means that you can extend the cluster without changing the configuration of existing instances.

Server configuration

If you are running Neo4j server, specify dbms.mode=HA in neo4j.conf.

See the configuration reference section for detailed documentation on available configuration options.

Database configuration

HA configuration parameters should be supplied alongside general Neo4j parameters in neo4j.conf. There are many configurable parameters. In most cases it isn’t necessary to modify the default values. The only parameters that need to be specified are ha.server_id and ha.initial_hosts.

See the configuration reference section for detailed documentation on available configuration options.