Cassandra, or Apache Cassandra, is a highly scalable open source NoSQL database system, achieving great performance on multi-node setups.
In this tutorial, you’ll learn how to install and use it to run a single-node cluster on Ubuntu 14.04.
To complete this tutorial, you will need the following:
Cassandra requires that the Oracle Java SE Runtime Environment (JRE) be installed. So, in this step, you’ll install and verify that it’s the default JRE.
To make the Oracle JRE package available, you’ll have to add a Personal Package Archives (PPA) using this command:
Update the package database:
Then install the Oracle JRE. Installing this particular package not only installs it but also makes it the default JRE. When prompted, accept the license agreement:
After installing it, verify that it’s now the default JRE:
You should see output similar to the following:
Outputjava version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
We’ll install Cassandra using packages from the official Apache Software Foundation repositories, so start by adding the repo so that the packages are available to your system. Note that Cassandra 2.2.2 is the latest version at the time of this publication. Change the 22x
to match the latest version. For example, use 23x
if Cassandra 2.3 is the latest version:
The add the repo’s source:
To avoid package signature warnings during package updates, we need to add three public keys from the Apache Software Foundation associated with the package repositories.
Add the first one using this pair of commands, which must be run one after the other:
Then add the second key:
Then add the third:
Update the package database once again:
Finally, install Cassandra:
Ordinarily, Cassandra should have been started automatically at this point. However, because of a bug, it does not. To confirm that it’s not running, type:
If it is not running, the following output will be displayed:
Output* could not access pidfile for Cassandra
This is a well-known issue with the latest versions of Cassandra on Ubuntu. We’ll try a few fixes. First, start by editing its init script. The parameter we’re going to modify is on line 60 of that script, so open it using:
That line should read:
/etc/init.d/cassandraCMD_PATT="cassandra.+CassandraDaemon"
Change it to:
/etc/init.d/cassandra
CMD_PATT="cassandra"
Close and save the file, then reboot the server:
Or:
After logging back in, Cassandra should now be running. Verify:
If you are successful, you will see:
Output* Cassandra is running
If you were able to successfully start Cassandra, check the status of the cluster:
In the output, UN means it’s Up and Normal:
OutputDatacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 127.0.0.1 142.02 KB 256 ? 2053956d-7461-41e6-8dd2-0af59436f736 rack1
Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless
Then connect to it using its interactive command line interface cqlsh
.
You will see it connect:
OutputConnected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.2.2 | CQL spec 3.3.1 | Native protocol v4]
Use HELP for help.
cqlsh>
Type exit
to quit:
Congratulations! You now have a single-node Cassandra cluster running on Ubuntu 14.04. More information about Cassandra is available at the project’s website.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Is is possible to avoid rebooting the server after editing the config file? What would the alternative commands be? Thanks.
On Cassandra 2.2.3 only is possible to start Cassandra with command cassandra other commands not working. My question is how to start Cassandra when server start? In crontab command @reboot cassandra not working. thank you
I did all the instructions, but this work not correct. Sometime it work, but in most cases, during execution of the command:
"sudo nodetool status"
, I get:"Connection refused"
or"Killed"
and cassandra is down.If I use deb-src, I am not able to install cassandra but with deb I was easily able to install it.
I tried installing The latest version of cassandra (8 dec 2016), encountered the same
house
This comment has been deleted
Awesome work its been a lot of time I tried hard to install cassandra…but your article helped me thanks a lot…
Without rebooting, there’s a half-half chance that Cassandra will start. if without rebooting start facing problem is sudo service cassandra force-reload.
Oracle Java 8 Installer is not available any longer.
I was unable to get the package to install. I am using
3.11 has
CMD_PATT="Dcassandra-pidfile=.*cassandra\.pid"
in/etc/init.d/cassandra
.