E.2.3. Arbiter instances

This section describes how to configure an arbiter instance for a Neo4j HA cluster.

A typical deployment of Neo4j will use a cluster of three machines to provide fault tolerance and read scalability.

While having at least three instances is necessary for failover to happen in case the master becomes unavailable, it is not required for all instances to run the full Neo4j stack. Instead, something called arbiter instances can be deployed. They are regarded as cluster participants in that their role is to take part in master elections with the single purpose of breaking ties in the election process. That makes possible a scenario where you have a cluster of two Neo4j database instances and an additional arbiter instance and still enjoy tolerance of a single failure of either of the three instances.

Arbiter instances are configured in neo4j.conf using the same settings as standard Neo4j HA cluster members. The instance is configured to be an arbiter by setting the Table A.189, “dbms.mode” option to ARBITER. Settings that are not cluster specific are of course ignored, so you can easily start up an arbiter instance in place of a properly configured Neo4j instance.

To start the arbiter instance, run neo4j as normal:

neo4j_home$ ./bin/neo4j start

You can stop, install and remove it as a service and ask for its status in exactly the same way as for other Neo4j instances.