How to Install Apache Cassandra on CentOS 8

Apache Cassandra is a robust free and opensource NoSQL database that stores data in key-value pairs. Cassandra was initially developed by Facebook and later on acquired by Apache Foundation.

Apache Cassandra is built to provide consistency, horizontal scalability, and high availability with no single point of failure. It implements a Dynamo-style replication providing fault tolerance and guaranteeing 99.99% uptime. This makes it ideal for use in business-critical applications that cannot afford any downtime.

Some of the notable companies that implement Apache Cassandra in their environments include Netflix, Facebook, Twitter, and eBay to mention a few.

In this guide, we focus on the installation of Apache Cassandra on CentOS 8 and RHEL 8 Linux distributions.

Installing Java in CentOS 8

To start off, we are going to install OpenJDK 8 on our system which will provide Java. But first, let’s check if Java is installed. To do so, invoke the command:

$ java -version

If Java is not present on your system, you will get the output shown:

bash: java: command not found...

To install OpenJDK 8, run the following dnf command.

$ sudo dnf install java-1.8.0-openjdk-devel

This will install OpenJDK 8 alongside other dependencies as shown.

Install Java on CentOS 8
Install Java on CentOS 8

Once the installation is done, once again verify that you have installed OpenJDK as shown:

$ java -version
Verify Java Version
Verify Java Version

NOTE: If another version of OpenJDK is installed apart from OpenJDK 8, you can set the default Java version to OpenJDK 8 by running the command below.

$ sudo alternatives --config java

Thereafter, select the option that corresponds to OpenJDK 8. In the screenshot below, we have switched the default Java version from OpenJDK 11 to OpenJDK 8.

Switch Java Version in CentOS
Switch Java Version in CentOS

Installing Apache Cassandra on CentOS 8

After installing Java, we can now proceed to install Apache Cassandra. Create a new repository file for Apache Cassandra as shown below:

$ sudo vim /etc/yum.repos.d/cassandra.repo

Then add Cassandra’s repository as shown.

name=Apache Cassandra

Save and exit the repository file.

Next, install Apache Cassandra using the command:

$ sudo dnf install Cassandra
Install Apache Cassandra in CentOS
Install Apache Cassandra in CentOS

Thereafter, accept numerous GPG keys.

Once the installation is complete. Verify that Apache Cassandra has been successfully installed by running the rpm command below:

$ rpm -qi Cassandra

You will get detailed information about Apache Cassandra such as the version, release, architecture, size, license, and a brief description to mention a few.

Verify Apache Cassandra Installation
Verify Apache Cassandra Installation

Thereafter, create a systemd service file for Cassandra as shown.

$ sudo vim /etc/systemd/system/cassandra.service

Add the following lines:

Description=Apache Cassandra

ExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra/


Save and exit the file.

Next, start Cassandra and confirm its status by invoking the command:

$ sudo systemctl start cassandra
$ sudo systemctl status Cassandra
Verify Apache Cassandra Status
Verify Apache Cassandra Status

The output confirms that Cassandra is up and running. Additionally, you can enable Cassandra to start on boot or upon a reboot by issuing the command:

$ sudo systemctl enable Cassandra

To log in to Cassandra and interact with Cassandra Query language, we are going to use the cqlsh command-line tool. But for this to work, we need to have Python2 interpreter installed.

If you try to log in without Python2 installed, you will get the error shown below:

$ cqlsh

No appropriate python interpreter found.

Therefore, Python2 is essential and needs to be installed. To install it, run the command:

$ sudo dnf install python2

This installs Python2 alongside other dependencies as shown.

Install Python2 in CentOS
Install Python2 in CentOS

Try logging in and this time around, the login will be successful.

$ cqlsh
Cassandra Query Language Shell
Cassandra Query Language Shell

Configuring Apache Cassandra in CentOS 8

To modify Cassandra’s default settings, check out the configuration files which are found in the /etc/cassandra directory. Data is stored in /var/lib/cassandra path. Start-up options can be tweaked in the /etc/default/cassandra file.

By default, Cassandra’s cluster name is ‘Test Cluster’. You can change this to your preferred cluster name by logging in and running the command below.

UPDATE system.local SET cluster_name = 'Tecmint Cluster' WHERE KEY = 'local';

In this example, we have set the cluster name to ‘Tecmint Cluster’.

Next, head over to the cassandra.yaml file.

$ sudo vim /etc/cassandra/default.conf/cassandra.yaml

Modify the cluster_name directive accordingly as shown below.

Set Cassandra Cluster Name
Set Cassandra Cluster Name

Save and exit the configuration file and restart the Cassandra service.

$ sudo systemctl restart Cassandra

Log in again to confirm the cluster name as shown.

This brings us to the end of this tutorial. We hope that you have succeeded in installing Apache Cassandra on CentOS 8 and RHEL 8 Linux distributions.

Tutorial Feedback...
Was this article helpful? If you don't find this article helpful or found some outdated info, issue or a typo, do post your valuable feedback or suggestions in the comments to help improve this article...

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

4 thoughts on “How to Install Apache Cassandra on CentOS 8”

    • Thanks Fahad for your feedback, I’m glad that this guide was beneficial. We will work on providing in-depth guides on Apache Cassandra in the near future.


Got something to say? Join the discussion.

Have a question or suggestion? Please leave a comment to start the discussion. Please keep in mind that all comments are moderated and your email address will NOT be published.