Installing a Univa Grid Engine Demo Cluster with One Command (2014-07-13)

Univa provides demo packages for Univa Grid Engine for free. The only restriction is that those packages have a built-in limitation to handle a cluster with 48 cores at maximum. But this should be sufficient to test certain functionality or try out and learn the Grid Engine cluster scheduler in general.

But when you just want to try out Grid Engine on your laptop or desktop you probably don’t want to go the way of doing an own installation, you just want a test-bed for trying Grid Engine commands out.

I played a bit with Vagrant, which is a nice tool for creating Virtual Box machines automatically and hacked a script which installs Grid Engine on 3 virtual nodes completely automatically.

Here are the prerequisites:

  • Having you own laptop / desktop with MacOS X / Linux (untested) or Windows (untested) running
  • Having free VirtualBox installed
  • Having free Vagrant installed
  • Having git version management installed (or alternative you can copy the files from my github account manually)
  • Having free Grid Engine tar.gz packages (I assume here ge-8.1.5-demo-common.tar.gz and ge-8.1.5-demo-bin-lx-amd64.tar.gz which you can get here for free)

Go to command line and create a directory in your home folder and clone in a directory containing all files needed for Vagrant to do its job:

# git clone https://github.com/dgruber/vagrantGridEngine.git

or alternatively copy all files from my github account (https://github.com/dgruber/vagrantGridEngine/archive/master.zip) into an empty subdirectory.

Then copy the tar.gz from Univa (expected 8.1.5) into the same directory where Vagrantfile is.

It should look like this:

Centenario:test daniel$ ls -l
-rw-r--r--   1 daniel  staff      5724 13 Jul 13:42 Vagrantfile
-rw-------   1 daniel  staff      1610 13 Jul 14:04 authorized_keys
-rw-r--r--   1 daniel  staff      1436 13 Jul 16:40 auto_install_template
-rw-r--r--   1 daniel  staff  32097445 13 Jul 11:10 ge-8.1.5-demo-bin-lx-amd64.tar.gz
-rw-r--r--   1 daniel  staff   3332163 13 Jul 11:10 ge-8.1.5-demo-common.tar.gz
-rwxrwxr-x   1 daniel  staff      1161 13 Jul 16:44 hostnames.sh
-rw-------   1 daniel  staff      1679 13 Jul 12:28 id_rsa
-rw-r--r--   1 daniel  staff       396 13 Jul 12:28 id_rsa.pub
-rwxr-xr-x   1 daniel  staff       786 13 Jul 16:24 installation.sh
-rw-r--r--   1 daniel  staff      1970 13 Jul 16:00 known_hosts
-rw-r--r--   1 daniel  staff        74 13 Jul 12:19 start_uge.sh

If you have this, all what is required to get your Univa Grid Engine 8.1.5 demo cluster running is to perform one command in this directory:

vagrant up

This will take a while at the very first time, because it needs to download a so called „box“ (a CentOS 6.5 image ready for Vagrant) from the Vagrant repository. This needs to be done just one time.

Now all 3 virtual machines are installed in VirtualBox automatically and are going to be configured. In order to use your cluster you can do an ssh to the Grid Engine master host:

vagrant ssh master

Then you can play with Grid Engine (if Grid Engine commands are not available you need to do that first: source /vagrant/UGE/default/common/settings.sh):

qhost 
qstat -f
qsub -b y sleep 123
qstat -f
qstat -j <jobid>

If you want to shut the cluster down and remove all occurrences of it then you can logout and do a

vagrant destroy

or

vagrant destroy -f 

in the same directory where you called vagrant up. That’s it. If you have any problems or enhancements, please use my github repository for reporting.

Cheers

Note that the root password is vagrant. If you have different versions of Grid Engine packages just have a look in the installation.sh and adapt the package names. Be aware that the packages must be in the directory or a subdirectory.