How To Install Cassandra on CentOS 6

Reading Time: 3 minutes

Apache Cassandra is a NoSQL database intended for storing large amounts of data in a decentralized, high availability server 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.

Prerequisites

  • 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 8

Head over to Oracle’s website and download the latest version of Oracle Java SE Runtime Environment 8. Then, transfer the file up to your server into a directory of your choice. (We suggest using /usr/src/java8/ or something to that effect.

Note:
Following a licensing change of Oracle Java on 16 April 2019, Oracle now forbids anyone from downloading Java outside their approved process. That process is currently to log in to an Oracle account, accept the new license, then attempt the download with the authentication cookies in place. There are no known workarounds at this time.

Next, run the installation by using the command rpm -ivh <filename>, or in this case:

root@host [/usr/src/javaSE8]# rpm -ivh jre-8u251-linux-x64.rpm

Note: Your command may be slightly different if you downloaded a different version of Oracle Java SE Runtime Environment. Simply replace jre-xxxx-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 8 installation so that your server uses the Oracle JRE instead of the OpenJDK JRE:

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

Note: Your command will be slightly different if you downloaded a different version of Oracle Java SE Runtime Environment 8. Simply replace jrex.x.x_## with the actual version you’ve installed.

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

The results of your command should look similar to the information below:

root@host [/usr/src/javaSE8]# alternatives --config java

There is 1 program that provides 'java'.

  Selection    Command
-----------------------------------------------
+ 1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64/jre/bin/java)
*+ 2           /usr/java/jre-8u251-linux-x64.rpm/bin/java
Enter to keep the current selection[+], or type selection number: 2
root@host [/usr/src/javaSE8]# java -version
java version "1.8.0_55"
Java(TM) SE Runtime Environment (build 1.8.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)

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
How To Install Cassandra 2 and Run a Single Node Cluster on CentOS 6 - 02 DataStax Repo

Then exit and save the file with the command :wq (see the example below):

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 Server Cluster on CentOS 6, Recommended Production Settings for Cassandra on CentOS 6 and more!

Refer a friend and get a $50 hosting credit!