ElastiCluster aims to provide a user-friendly command line tool to create, manage and setup computing clusters hosted on cloud infrastructures (like Amazon's Elastic Compute Cloud EC2, Google Compute Engine, or a private OpenStack cloud). Its main goal is to get your own private cluster up and running with just a few commands; this video demoes ElastiCluster setting up a computational batch-queueing cluster.
Complete documentation for ElastiCluster is available on the Read The Docs website. General discussion over ElastiCluster's usage, features, and bugs takes place on the firstname.lastname@example.org mailing-list (only subscribers can post).
ElastiCluster is in active development, and offers the following features at the moment:
- INI-style configuration file to define cluster templates
- Can start and manage multiple independent clusters at the same time
- Automated setup of:
- Growing and shrinking a running cluster.
We appreciate pull requests for new features and enhancements. Please use the master branch as starting point.
The simplest way to run ElastiCluster is to use the official Docker image. If you cannot or want not to use Docker, please see alternate installation instructions on ElastiCluster's Read The Docs website.
To install ElastiCluster over Docker: (1) download the elasticluster.sh script script into a file elasticluster.sh, then (2) type this at your terminal prompt:
chmod +x elasticluster.sh
That's it! You can now check that ElastiCluster is ready by running:
The first time it is run, the elasticluster.sh script will check if Docker is installed, and ask for permission to install it if Docker is not found. Follow the on-screen instructions; see section Getting Help if you're in trouble.
You can also rename file
you so like, to be consistent with the rest of the documentation.
Alternatively, you can also perform both steps at the terminal prompt:
# use this if the `wget` command is installed wget -O elasticluster.sh https://raw.githubusercontent.com/gc3-uzh-ch/elasticluster/master/elasticluster.sh chmod +x elasticluster.sh # use this if the `curl` command is installed instead curl -O https://raw.githubusercontent.com/gc3-uzh-ch/elasticluster/master/elasticluster.sh chmod +x elasticluster.sh
Choose either one of the two methods above, depending on whether
curl is installed on your system (Linux systems
wget; MacOSX normally uses
After ElastiCluster is installed, run this command to deploy an example configuration file:
The configuration file is located in .elasticluster/config; adjust it to your liking using the configuration reference.
More example configurations for popular cluster types can be found in the examples/ directory.
For anything concerning ElastiCluster, including trouble running the installation script, please send an email to email@example.com or post a message on the web forum https://groups.google.com/forum/#!forum/elasticluster. Include the full output of the script in your email, in order to help us to identify the problem.