Having some fun with Cassandra lately I wanted to figure out how to setup a working environment on the new Windows Azure VM roles, so I decided to give a try and install a Cassandra cluster on CentOS.

Although it’s on Ubuntu, the following article is a good guide that helped me to configure a Linux cluster: https://www.windowsazure.com/en-us/manage/linux/other-resources/how-to-run-cassandra-with-linux/

We create the 1st VM assigning a pem certificate in order to get access by ssh:

Create VM

and then we assign the DNS name:

Assign DNS name

We will connect the remaining VMs to the 1st one on the following step:

Connect existing VM

Cassandra installation

I’ve installed Cassandra from DataStax source because I found that packages and documentation are pretty good, but you can install from the Apache repository as well.

Follow the next link for detailed instructions http://www.datastax.com/docs/1.1/install/install_rpm (just make sure to install Oracle JRE because CentOS comes with OpenJDK installed by default, and then use the alternatives command to make Oracle JRE the default one). You will need to open the 9160 TPC public port on all the VM’s in the cluster (so it will be load balanced).

Cassandra port

Also, you can install OpsCenter (a management and monitoring web UI tool) by following http://www.datastax.com/docs/opscenter/install/install_rhel. Then, you will need to open the OpsCenter port:

OpsCenter endpoint

It looks like this:

OpsCenter UI

And the Cassandra’s ring view:

Ring view

In next posts I will cover the use of Cassandra from .NET.