How to Install Apache Cassandra on an Ubuntu 18.04 VPS or Dedicated Server

Apache Cassandra is an open-source NoSQL database management system that is developed to handle large-scale data across multiple servers. It can serve as an intensive database for business intelligence systems, and as a real-time data storage for online applications.

Cassandra adds a new virtual machine to its system with no downtime or interruption to any applications. In every Cassandra node, data is distributed across a certain cluster meaning that every node holds a different set of data. The database in this system is ideal for places that require maximum uptime and data redundancy,  disaster recovery, and failovers.

Note: uptime and data redundancy, disaster recovery, and failovers are also affected by the type of hosting that you chose. Consult Hostadvice for the best web hosting services available.

In this tutorial, we will show you how to install Apache Cassandra and run node clusters on Ubuntu 18.04 server.


  • Requires Java Platform installed in your system
  • A root user to run the application.

Step 1: Installing Java

Cassandra requires Java application to run on your server. So, install the latest Java 8+ version. In this case, we will use Java PPA.

Start by running the following command:

sudo add-apt-repository -y ppa:webupd8team/java

Ensure your repository database is up-to-date by running the command below:

sudo apt-get update

Now install Java 8+ using the command below:

sudo apt-get -y install oracle-java8-installer

Confirm the Java version you have:

java -version

You should get an output like this:

java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

Step 2: Downloading and Installing Cassandra

Download the latest version of Apache Cassandra. We shall use the official Cassandra package available on Apache Software Foundation. Ensure you add the software repository to verify that the package is available for your system.

echo "deb 36x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.list

To avoid errors, add a public key to your Cassandra repository file as shown below:

gpg --keyserver --recv-keys 749D6EEC0353B12C
gpg --export --armor 749D6EEC0353B12C | sudo apt-key add -

Now update the Cassandra repositories.

sudo apt-get update

Go ahead and install Cassandra.

sudo apt-get install cassandra

Step 3: Activating Cassandra

To activate Cassandra on your system and confirm it’s working, run the following command:

systemctl enable cassandra
systemctl start cassandra
systemctl -l status cassandra

Check to confirm the status of your Cassandra cluster:

If your cluster is functioning properly, you should see a UN display and an output that look like this:

|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens       Owns (effective)  Host ID    Rack UN  103.51 KiB  256          100.0%            c43a2db6-8e5f-4b5e-8a83-d9b6764d923d  rack1

In this case, UN means;

U-Cluster is UP

N-Cluster is Normal

In case of any faults, open the file named in your editor file to resolve this error:

vim /etc/cassandra/

Step 4: Configuring Cassandra

To enable the login authentication for the user, create a backup of the configuration file on Cassandra i.e cassandra.yaml.

cp /etc/cassandra/cassandra.yaml /etc/cassandra/cassandra.yaml.backup
Click to open the configuration file.
vim /etc/cassandra/cassandra.yaml

Now, match your items in the file based on your projects requirement and how you intend to use Cassandra. Once you edit the configuration, restart Cassandra to apply these changes:

Ubuntu /etc/cassandra/cassandra.yaml
authenticator: org.apache.cassandra.auth.PasswordAuthenticator
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
role_manager: CassandraRoleManager
roles_validity_in_ms: 0
permissions_validity_in_ms: 0

To add a superuser on Cassandra, open a command terminal and type cqlsh. Login to your default Cassandra account, using the details below:

cqlsh -u cassandra -p cassandra

Create your superuser account using the command below and include information of your choice in the brackets:

cassandra@cqlsh> CREATE ROLE [new_superuser] WITH PASSWORD = '[secure_password]' AND SUPERUSER = true AND LOGIN = true;

Exit and log in again with the new Cassandra superuser account and get rid off of the permissions present in the Cassandra account:

superuser@cqlsh> ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;


Allow the new superuser account to take control by replacing the text in brackets with with your username used in the superuser account:

superuser@cqlsh> GRANT ALL PERMISSIONS ON ALL KEYSPACES TO [superuser];

Step 5: Connecting to a Cluster

To connect to the Cassandra Cluster, use the command line cqlsh on its interface:


Now connect to the cluster:

Connected to Test Cluster at
[cqlsh 5.0.1 | Cassandra 3.6 | CQL spec 3.4.2 | Native protocol v4]
Use HELP for help.

Now you should be connected to the Cassandra cluster.


By this point, you should know how to install Apache Cassandra on Ubuntu 18.04. If you are using Apache Cassandra for the first time, it is recommended that you use the details in Cassandra’s official documentation that’s available at


Check out these top 3 Dedicated server hosting services:

$2.49 /mo
Starting price
Visit HostArmada
Rating based on expert review
  • User Friendly
  • Support
  • Features
  • Reliability
  • Pricing
$4.00 /mo
Starting price
Visit Kamatera
Rating based on expert review
  • User Friendly
  • Support
  • Features
  • Reliability
  • Pricing
A2 Hosting
$2.99 /mo
Starting price
Visit A2 Hosting
Rating based on expert review
  • User Friendly
  • Support
  • Features
  • Reliability
  • Pricing
  • Check the recommendations for the best VPS and get a suitable one.

How to Host Multiple Websites on an Ubuntu 18.04 VPS or Dedicated Server

This article will show you how to host two or more websites on a single Virtual
5 min read
Idan Cohen
Idan Cohen
Marketing Expert

How to Configure Nginx and Apache on the same Ubuntu VPS or Dedicated Server

Nginx and Apache are great and powerful web servers. However, they both have dra
2 min read
Idan Cohen
Idan Cohen
Marketing Expert

How to Backup Your MySQL Database on an Ubuntu 18.04 VPS or Dedicated Server

This article shows you how to back up a MySQL database on a Linux Ubuntu 18.04 s
3 min read
Eliran Ouzan
Eliran Ouzan
Web Designer & Hosting Expert

How to Disable MySQL 5 "Strict Mode" on an Ubuntu 18.04 VPS or Dedicated Server

How to Disable MySQL Strict Mode on MySQL 5.6 Running on an Ubuntu 18.04 VPS.
2 min read
Idan Cohen
Idan Cohen
Marketing Expert provides professional web hosting reviews fully independent of any other entity. Our reviews are unbiased, honest, and apply the same evaluation standards to all those reviewed. While monetary compensation is received from a few of the companies listed on this site, compensation of services and products have no influence on the direction or conclusions of our reviews. Nor does the compensation influence our rankings for certain host companies. This compensation covers account purchasing costs, testing costs and royalties paid to reviewers.