ArangoDB is a distributed, multi-model database featuring JSON documents, graphs, and key/value pairs. It has a unified query language (AQL) that allows you to mix all three data models and supports joins and transactions.
- Estimated time for completion: 5 minutes
- Target audience: Anyone who wants to deploy a distributed multi-model database on DC/OS. Beginner level.
- Scope: Covers the basics in order to get you started with ArangoDB on DC/OS.
- A running DC/OS 1.8 cluster with at least 3 nodes having 4.75 CPU, 22GB of memory and 20GB of persistent disk storage in total.
- DC/OS CLI installed.
The DC/OS CLI provides a convenient way to deploy applications on your DC/OS cluster:
$ dcos package install arangodb3
The default configuration requires at least 3 nodes having 4.75 CPU, 22GB of memory and 20GB of persistent disk storage in total.
Continue installing? [yes/no] yes
Installing Marathon app for package [arangodb3] version [1.0.4]
Installing CLI subcommand for package [arangodb3] version [1.0.4]
New command available: dcos arangodb3
The ArangoDB DCOS Service has been successfully installed!
Documentation: https://github.com/arangodb/arangodb3-dcos
Issues: https://github.com/arangodb/arangodb3-dcos/issues
This command installs the arangodb3
DC/OS CLI subcommand and starts an instance of the ArangoDB service with its default configuration under its default name, arangodb3
. Now click on the Services tab in the DC/OS UI to watch ArangoDB start up:
Click on the ArangoDB service to reveal the tasks that the framework has started:
Click Open Service
in the right upper corner to open the ArangoDB web interface.
Congratulations, you now have ArangoDB running on DC/OS!
Now that ArangoDB is running you can fill it with some data and use it as a data store for your applications.
To get started, talk to the Coordinators
of your ArangoDB cluster. Note that you should not hardcode the Coordinators
IP addresses and ports in your applications because they can move or change at any time throughout your cluster lifetime, for example because a tasks fails or due to scaling it up.
To connect to ArangoDB from the inside deploy the ArangoDB Mesos HAProxy.
Clone the repository and start the proxy:
$ git clone https://github.com/arangodb/arangodb-mesos-haproxy
$ cd arangodb-mesos-haproxy
$ dcos marathon app add marathon.json
To make your proxy highly available or scale it, you can simply add a few more instances via the Marathon UI.
Use the following commands to shut down and delete your ArangoDB service and the command line tool:
$ dcos arangodb3 uninstall; dcos package uninstall arangodb3
The first command uses the arangodb
subcommand to gracefully shut down and delete all instances of your ArangoDB service. The framework scheduler
itself will run in silent mode for another 120 seconds. This enables the second command to remove the arangodb
subcommand and the entry in
Marathon that would otherwise restart the framework scheduler automatically.
There are a number of configuration options, which can be specified in the following way:
$ dcos package install --config=<JSON_FILE> arangodb3
where JSON_FILE
is the path to a JSON file. For a list of possible
attribute values and their documentation see
$ dcos package describe --config arangodb3
For further information, visit the GitHub repo arangoDB/arangodb-mesos-framework. Note that the ArangoDB service is also distributed as a Docker image (arangodb/arangodb-mesos-framework
).
See the README.md in the framework repository for details on how the framework scheduler is configured.
The ArangoDB Mesos framework and the DC/OS subcommand are supported by ArangoDB GmbH, the company behind ArangoDB. If you get stuck, need help or have questions, just ask via one of the following channels:
- Slack
- Google Group
[email protected]
: developer mailing list of ArangoDB[email protected]
: direct email to Max Neunhöffer[email protected]
: direct email to Frank Celler[email protected]
: direct email to Andreas Streichardt
Additionally, we track issues, bug reports, and questions via the GitHub issue trackers at
- arangodb-dcos: The DC/OS subcommand
- arangodb-mesos: The ArangoDB service
- arangodb-mesos-haproxy: The ArangoDB Mesos Proxy