Cluster Deployment
This chapter describes how to deploy an ArangoDB Cluster.
- Using the ArangoDB Starter
- Manual Start
- Kubernetes
- ArangoGraph Insights Platform, fully managed, available on AWS, Azure & GCP
Preliminary Information For Debian/Ubuntu Systems
Use a different configuration file for the Cluster instance
The configuration file used for the standalone instance is
/etc/arangodb3/arangod.conf
(on Linux), and you should use a different one for
the cluster instance(s). If you are using the Starter binary arangodb
, that is
automatically the case. Otherwise, you might have to copy the configuration
somewhere else and pass it to your arangod
cluster instance via
--configuration
.
Use a different data directory for the standalone instance
The data directory is configured in arangod.conf
:
[database]
directory = /var/lib/arangodb3
You have to make sure that the Cluster instance uses a different data directory
as the standalone instance. If that is not already the case, change the
database.directory
entry in arangod.conf
as seen above to a different
directory
# in arangod.conf:
[database]
directory = /var/lib/arangodb3.standalone
and create it with the correct permissions:
$ mkdir -vp /var/lib/arangodb3.standalone
$ chown -c arangodb:arangodb /var/lib/arangodb3.standalone
$ chmod -c 0700 /var/lib/arangodb3.standalone
Use a different socket for the standalone instance
The standalone instance must use a different socket, i.e. it cannot use the
same port on the same network interface than the Cluster. For that, change the
standalone instance’s port in /etc/arangodb3/arangod.conf
[server]
endpoint = tcp://127.0.0.1:8529
to something unused, e.g.
[server]
endpoint = tcp://127.1.2.3:45678
.
Use a different init script for the Cluster instance
This section applies to SystemV-compatible init systems (e.g. sysvinit, OpenRC, upstart). The steps are different for systemd.
The package install scripts use the default init script /etc/init.d/arangodb3
(on Linux) to stop and start ArangoDB during the installation. If you are using
an init script for your Cluster instance, make sure it is named differently.
In addition, the installation might overwrite your init script otherwise.
If you have previously changed the default init script, move it out of the way
$ mv -vi /etc/init.d/arangodb3 /etc/init.d/arangodb3.cluster
and add it to the autostart; how this is done depends on your distribution and
init system. On older Debian and Ubuntu systems, you can use update-rc.d
:
$ update-rc.d arangodb3.cluster defaults
Make sure your init script uses a different PIDFILE
than the default script!