How To Install Cassandra on CentOS 6

Apache Cassandra is a NoSQL database intended for storing large amounts of data in a decentralized, highly available cluster. NoSQL refers to a database with a data model other than the tabular relations used in relational databases such as MySQL, PostgreSQL, and Microsoft SQL.

Pre-Flight Check
  • These instructions are intended for installing Cassandra 2 on a single CentOS 6 node.
  • I’ll be working from a Liquid Web Core Managed CentOS 6.4 server, and I’ll be logged in as root.
  • You may be able to skip to Step #2 if you already have a stable version of Java 7 (preferably the Oracle/Sun JVM). Check to see if your server already has Java installed by running the following command: java -version
Step #1: Download Oracle Java SE Runtime Environment 7

Head over to Oracle’s website and get the latest version of Oracle Java SE Runtime Environment 7.

Accept the license agreement and then download the Linux x64 RPM installer (which as of the writing of this article is jre-7u45-linux-x64.rpm ) to your local desktop.

Transfer the file to your Liquid Web server. If you need help with that, check out this article: Using SFTP and SCP Instead of FTP

Login to the server as root, and then from the directory where you uploaded the package run the install by using the command rpm -ivh <filename>, or in this case:

rpm -ivh jre-7u45-linux-x64.rpm

Note: Your command will be slightly different if you downloaded a different version of Oracle Java SE Runtime Environment 7. Simply replace jre-7u45-linux-x64.rpm with the actual filename.

Then install the Java Native Access (JNA) which can improve Cassandra’s memory usage:

yum install jna

Add a symbolic link to the Oracle Java SE Runtime Environment 7 installation so that your server uses the Oracle JRE instead of the OpenJDK JRE:

alternatives --install /usr/bin/java java /usr/java/jre1.7.0_45/bin/java 20000

Note: Your command will be slightly different if you downloaded a different version of Oracle Java SE Runtime Environment 7. Simply replace jre1.7.0_45 with the actual version you’ve installed.

Then use the alternatives command to verify that the Oracle Java SE Runtime Environment 7 is selected. If not, simply choose the appropriate Selection after you run the command:

alternatives --config java

The results of your command should look similar to the image below:
How To Install Cassandra 2 and Run a Single Node Cluster on CentOS 6 - 01 Console View of Alternatives

Utilize the following command to double check the correct version of Oracle Java SE Runtime Environment 7 is being used:

java -version

Step #2: Add the DataStax Community Repository

For a refresher on editing files with vim see: New User Tutorial: Overview of the Vim Text Editor

vim /etc/yum.repos.d/datastax.repo

Add the following information to the file you’ve created, using i to insert:

[datastax]
name = DataStax Repo for Apache Cassandra
baseurl = http://rpm.datastax.com/community
enabled = 1
gpgcheck = 0

Then exit and save the file with the command :wq (see the example below):
How To Install Cassandra 2 and Run a Single Node Cluster on CentOS 6 - 02 DataStax Repo

Step #3: Install Apache Cassandra 2

At this point, installing Cassandra is as simple as running just one command:

yum install dsc20

Step #4: Configure the Apache Cassandra 2 Environment

Just two more simple environment tweaks that enable Cassandra to run correctly:

export JAVA_HOME=/usr/java/jre1.7.0_45/
export PATH=$PATH:/usr/java/jre1.7.0_45/bin/

Note: Your commands will be slightly different if you downloaded a different version of Oracle Java SE Runtime Environment 7. Simply replace jre1.7.0_45 with the actual version you’ve installed.

Step #5: Get Cassandra Running

Start-Up Cassandra

service cassandra start

Check Cassandra Service Status

service cassandra status

Enter the Cassandra Command Line

cqlsh

The cqlsh interface should look similar to the image below:
How To Install Cassandra 2 and Run a Single Node Cluster on CentOS 6 - 03 Cassandra Console

Check Cassandra Node Status

nodetool status

Shutdown Cassandra

service cassandra stop

There are many, many more things we could say about Cassandra, but those will be detailed in follow-up articles in the Liquid Web Knowledge Base! Look for articles on: How To Install Cassandra 2 and Run a Multi-Node Cluster on CentOS 6 , Recommended Production Settings for Cassandra on CentOS 6 and more!

Be Sociable, Share!
Here's $75, Launch a New VPS Today. Find out why 30,000 customers have chosen our Best-in-Class Performance & 24x7 Heroic Support.