Using the ArangoDB Starter

This section describes how to start a Cluster using the tool Starter (the arangodb binary program).

Local Tests

If you only want a local test Cluster, you can run a single Starter with the --starter.local argument. It will start a 3 "machine" Cluster on your local PC:

arangodb --starter.local --starter.data-dir=./localdata

Note: a local Cluster is intended only for test purposes since a failure of a single PC will bring down the entire Cluster.

Multiple Machines

If you want to start a Cluster using the Starter, you can use the following command:

arangodb --server.storage-engine=rocksdb --starter.data-dir=./data --starter.join A,B,C

Run the above command on machine A, B & C.

Once all the processes started by the Starter are up and running, and joined the Cluster (this may take a while depending on your system), the Starter will inform you where to connect the Cluster from a Browser, shell or your program.

For a full list of options of the Starter please refer to this section.

Using the ArangoDB Starter in Docker

The Starter can also be used to launch Clusters based on Docker containers:

export IP=<IP of docker host>
docker volume create arangodb
docker run -it --name=adb --rm -p 8528:8528 \
    -v arangodb:/data \
    -v /var/run/docker.sock:/var/run/docker.sock \
    arangodb/arangodb-starter \
    --starter.address=$IP \
    --starter.join=A,B,C

Run the above command on machine A, B & C.

If you use an ArangoDB version of 3.4 or above and use the Enterprise Edition Docker image, you have to set the license key in an environment variable by adding this option to the above docker command:

    -e ARANGO_LICENSE_KEY=<thekey>

You can get a free evaluation license key by visiting

 https://www.arangodb.com/download-arangodb-enterprise/

Then replace <thekey> above with the actual license key. The start will then hand on the license key to the Docker containers it launches for ArangoDB.

Under the Hood

The first arangodb you ran will become the master of your Starter setup, the other arangodb instances will become the slaves of your Starter setup. Please do not confuse the terms master and slave above with the master/slave technology of ArangoDB. The terms above refers to the Starter setup.

The Starter master determines which ArangoDB server processes to launch on which Starter slave, and how they should communicate.

It will then launch the server processes and monitor them. Once it has detected that the setup is complete you will get the prompt.

The Starter master will save the setup for subsequent starts.