Hurray! Last week finally saw the release of ArangoDB 3.0 with lots of new features and in particular various improvements for ArangoDB clusters. In this blog post, I want to talk about one aspect of this, which is deployment.
As of last Wednesday, deploying an ArangoDB 3.0 cluster on DC/OS has become even simpler, because the new version of our framework scheduler has been accepted to the DC/OS Universe. Therefore, deployment is literally only two clicks:
Choose ArangoDB3 in the DC/OS Universe
Hit “Install Package” and you are done!
More details about this process can be found in the manual. On the same page one can learn how to deploy ArangoDB on an Apache Mesos cluster using Marathon. This is a tiny bit more effort because DC/OS makes life for the user a lot simpler.
In both cases you get the additional benefit that permanently failing instances are automatically replaced, and that one can easily scale the ArangoDB cluster up and down via the web UI.
Local tests on your laptop
If you only want to try out an ArangoDB cluster on your laptop, we have you covered in the manual, too. We explain how to use a simple bash script in the source repository and explain in detail, which processes with which command line options it fires up to create an ArangoDB cluster within seconds.
Although a number of processes are involved, Version 3.0 of ArangoDB makes this exercise particularly simple because all that needs doing is to start up a process for the “Agency”, which keeps the cluster configuration and metadata, and to point all other servers to the network endpoint of the Agency. For high availability the one Agency process is replaced by three Agency processes tied together with our new implementation of the Raft consensus protocol.
More details can be found in this bash script which does everything for you once a standard ArangoDB binary package is installed, just run
./startArangoDBClusterLocal.sh 3 2 1
to start a cluster with 3 agents, 2 DBservers and 1 coordinator on your laptop, for exapmle.
Manual deployment of ArangoDB clusters
Even if you do not want to use any orchestration framework and still want to deploy an ArangoDB 3.0 cluster on a bunch of machines using
ssh, you can just follow the advice in the manual to start the necessary processes on multiple machines. The information in this chapter will also enable you to run an ArangoDB cluster on any orchestration framework you want to choose, even if we do not yet support it out of the box.
You are a Docker fan? Just read the manual to learn how all these nice things are achieved by just using the standard ArangoDB Docker image.
Aren’t these interesting times? Deploying a distributed database, which has traditionally been a huge headache, has never been easier and scaling it up and down is actually fun!