top of page

Apache Cassandra

What is Cassandra ?

Apache Cassandra is a free and open-source, distributed, wide column store, NoSQL database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure.

How To Install Cassandra On CentOs 7.x ?

Apache Cassandra requires OpenJDK to be installed on the system.

To install openjdk, run below command on your system.

[root@tecgeek ~]# yum install java-1.8.0-openjdk

You can verify your Java installation by running the following command.

[root@tecgeek ~]# java -version

openjdk version "1.8.0_201"

OpenJDK Runtime Environment (build 1.8.0_201-b09)

OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)

[root@tecgeek ~]#

Now Next step is to start Cassandra installation, But prior to that we'll create Apache Cassandra Repository.

[root@tecgeek ~]# vim /etc/yum.repos.d/cassandra.repo

Copy following content into this file.


name=Apache Cassandra





Once this is ready, then start installation of Cassandra using yum.

[root@tecgeek ~]# yum install cassandra

To enable and start the service

[root@tecgeek ~]# systemctl enable cassandra

[root@tecgeek ~]# systemctl start cassandra

Verify Cassandra running status :

[root@tecgeek ~]# nodetool status

Datacenter: datacenter1



|/ State=Normal/Leaving/Joining/Moving

-- Address Load Tokens Owns (effective) Host ID Rack

UN 103.68 KiB 256 100.0% 12345he7-323d-443-43b2-5dc46b45a721 rack1

[root@tecgeek ~]#

So far we have seen installation steps of Cassandra, Now lets move on next to the configuration part......

How to configure Cassandra ?

There are three important file/folder directive of Cassandra as follow

/var/lib/cassandra/ [Directory] : Apache Cassandra Data Store Directory

/etc/cassandra/ [Directory] : Configuration Files gets store here

/etc/default/cassandra [File] : Java-Startup option can be configured here

To connect with Cassandra database you have to CQL (Cassandra Query Language) command line utility ie cqlsh

[root@tecgeek ~]# cqlsh

Connected to Test Cluster at

[cqlsh 5.0.1 | Cassandra 3.11.4 | CQL spec 3.4.4 | Native protocol v4]

Use HELP for help.


Renaming Cassandra Cluster :

By Default name of Cassandra cluster is Test you can get this change by following below steps. In below example I'll check my cluster name from Test to Tecgeek.

1. Login to Cassandra with cqlsh and run below query.

[root@tecgeek ~]# cqlsh

cqlsh>UPDATE system.local SET cluster_name = 'Tecgeek' WHERE KEY = 'local';


2. Edit cassandra.yaml ie /etc/cassandra/default.conf/cassandra.yaml to enter your cluster name.

cluster_name: 'Tecgeek'

3. Run below command to clear system cache.

[root@tecgeek ~]# nodetool flush system

4. Restart Cassandra Service.

[root@tecgeek ~]# systemctl restart cassandra

bottom of page