Chapter 5. Deploying Clusters with the VoltDB Deployment Manager

Documentation

VoltDB Home » Documentation » Administrator's Guide

Chapter 5. Deploying Clusters with the VoltDB Deployment Manager

The VoltDB Deployment Manager is a tool for simplifying the configuration and starting of VoltDB clusters. The Deployment Manager provides both a web-based interface for interactively configuring and starting clusters and a REST API for remote scripting. The Deployment Manager also integrates with the VoltDB Management Center — the web-based interface for monitoring and managing running databases — to support the entire database lifecycle.

The main component of the VoltDB Deployment Manager is the deployment engine — a daemon process that runs on all servers where you want to manage the deployment of VoltDB databases. The deployment engine comes as part of the VoltDB software kit. So any server with VoltDB installed can start the daemon process and be managed by the Deployment Manager.

5.1. Starting the VoltDB Deployment Manager

There are two ways to start the Deployment Manager: you can start it manually as a process or you can configure and start it as a service. Starting the manager as a process is the simper method, but requires you to remember to start it each time the system restarts. Configuring the Deployment Manager as a service lets you set it up as a persistent system service, like other common services that are started automatically on system startup.

5.1.1. Starting the Deployment Manager Manually

You start the Deployment Manager manually by starting the daemon process on all participating nodes. The shell command to start the deployment engine is voltdeploy. Because this is a daemon process and should be left running, it is a good idea to issue the command as a detached process. For example, by using the nohup command:

$ nohup voltdeploy &

5.1.2. Starting the Deployment Manager as a Service

To start the Deployment Manager as a service, you must first install the files into the appropriate system directories for the Linux configuration service, /etc/init.d. You only need to do this once, as long as you install new versions of VoltDB in the same location each time. To install the Deployment Manager files perform the following steps (you will need root privileges):

  1. Locate the top-level folder of your VoltDB installation. This is the folder containing the README file and the /bin, /doc, /examples, /lib, and /voltdb subfolders, among others.

  2. Copy lib/python/vdm/server/voltdeploy from the VoltDB root directory to the /etc/init.d/ system folder.

  3. Edit the new file /etc/init.d/voldeploy and set the environment variable VOLT_HOME in the script equal to the VoltDB root. For example, if the root directory is /home/myaccount/voltdb:

    VOLT_HOME=/home/myaccount/voltdb/
  4. Change the permissions on the script to make it executable:

    $ sudo chmod a+x /etc/init.d/voltdeploy
  5. Add the Deployment Manager to the list of services that start and stop automatically with the operating system:

    $ sudo update-rc.d voltdeploy defaults

Once the VoltDB Deployment Manager is installed, you can start, stop, and manage the daemon process like any other system service with the following commands:

voltdeploy start
voltdeploy stop
voltdeploy reload
voltdeploy restart
voltdeploy status