After completing this guide, you will have a single-node, production-ready installation of Apache Cassandra hosted on your Linux server. This tutorial will cover basic configuration options, as well as how to harden and secure your database.
Install the package:
sudo yum install yum-utils -y
sudo yum install wget -y
Step 1: Install Java:
sudo dnf install java-11-openjdk -y
or Download Java from Orcel
https://www.oracle.com/java/technologies/downloads/#java11
Verify:
java -version
Step 2: Add Cassandra repo:
Create repo file:
sudo vi /etc/yum.repos.d/cassandra.repo
Paste:
[cassandra]
name=Apache Cassandra
baseurl=https://archive.apache.org/dist/cassandra/redhat/40x/
enabled=1
gpgcheck=0
Step 3: Install Cassandra
sudo dnf install cassandra -y
Step 4: Start Cassandra
Enable Cassandra on system boot and verify that it is running:
sudo systemctl enable cassandra
sudo systemctl start cassandra
sudo systemctl -l status cassandra
Step 5: Check Cassandra cluster status:
nodetool status
Error Occured:
In case you see below error than try these steps:
sudo systemctl status cassandra
● cassandra.service - LSB: distributed storage system for structured data
Loaded: loaded (/etc/rc.d/init.d/cassandra; generated)
Active: failed (Result: protocol) since Tue 2026-04-07 00:16:18 IST; 6s ago
Docs: man:systemd-sysv-generator(8)
Process: 82588 ExecStart=/etc/rc.d/init.d/cassandra start (code=exited, status=0/SUCCESS)
Apr 07 00:16:17 localhost.localdomain systemd[1]: Starting LSB: distributed storage system for structured data...
Apr 07 00:16:17 localhost.localdomain runuser[82600]: pam_unix(runuser:session): session opened for user cassandra by (uid=0)
Apr 07 00:16:18 localhost.localdomain runuser[82600]: pam_unix(runuser:session): session closed for user cassandra
Apr 07 00:16:18 localhost.localdomain cassandra[82588]: Starting Cassandra: OK
Apr 07 00:16:18 localhost.localdomain systemd[1]: cassandra.service: New main PID 82688 does not exist or is a zombie.
Apr 07 00:16:18 localhost.localdomain systemd[1]: cassandra.service: Failed with result 'protocol'.
Apr 07 00:16:18 localhost.localdomain systemd[1]: Failed to start LSB: distributed storage system for structured data.
Check Logs :
[root@localhost ~]# cat /var/log/cassandra/cassandra.log
Unrecognized VM option 'UseBiasedLocking'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Check Java Version :
[root@localhost ~]# java --version
java 26 2026-03-17
Java(TM) SE Runtime Environment (build 26+35-2893)
Java HotSpot(TM) 64-Bit Server VM (build 26+35-2893, mixed mode, sharing)
Fix with correct Java version:
sudo dnf install java-11-openjdk -y
Switch Java version:
sudo alternatives --config java
You’ll see something like:
1 java-11-openjdk
2 java-26
Select Java 11.
Verify:
java -version
Restart Cassandra:
sudo systemctl restart cassandra
Check:
systemctl status cassandra
Check Cassandra cluster status:
nodetool status
If UN is displayed in the output, the cluster is working. Your output should resemble the following:
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 127.0.0.1 69.09 KiB 16 100.0% f5f4b2cc-1b86-4112-a622-27e79b41a519 rack1