Choose a different version or distribution
Introduction
Before we begin talking about how to install Apache Cassandra on CentOS 7, let's briefly understand – What is Apache Cassandra?
Apache Cassandra is a powerful and scalable NoSQL database that efficiently handles massive amounts of data. It offers high availability and fault tolerance, making it ideal for mission-critical applications. With its decentralized architecture, Cassandra ensures seamless performance, making it a top choice for big data projects and real-time applications.
In this tutorial, you will learn how to install Apache Cassandra on CentOS 7.
Advantages of Apache Cassandra
- Scalability: Apache Cassandra effortlessly scales to accommodate large data volumes and traffic.
- High Availability: Ensures data accessibility and operational continuity even during node failures.
- Fault Tolerance: Maintains data integrity and reliability, preventing data loss or downtime.
- Flexibility: Schema-free design allows dynamic changes to data structure without disruptions.
- Low Latency: Offers speedy read and write operations for real-time applications and analytics.
Prerequisites to Install Apache Cassandra on CentOS 7
- To install packages, you must be logged in as a user with sudo privileges.
- Minimum
2GB
of memory required.
Installing Apache Cassandra
Installing the rpm package from the official Apache Cassandra repository is the suggested method for installing Apache Cassandra on CentOS 7.
At the time of writing, the most recent version of Apache Cassandra is 4.1
, which requires OpenJDK 8 to be installed on the system.
On your system, type the following to install OpenJDK:
sudo yum install java-1.8.0-openjdk-devel
Running the following command, which prints the Java version, will allow you to confirm the Java installation:
java -version
The output should look like the example below:
Output
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)
Now that Java has been installed, adding the Apache Cassandra repository should be your next step.
Open your preferred editor, then create the repository file shown below:
sudo vi /etc/yum.repos.d/cassandra.repo
The following text should be pasted into the file::
[cassandra]
name=Apache Cassandra
baseurl=https://www.apache.org/dist/cassandra/redhat/311x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.apache.org/dist/cassandra/KEYS
Once the repository is enabled, use the following command to install the most recent version of Apache Cassandra:
sudo yum install cassandra
Launch and activate the Cassandra service:
sudo systemctl enable cassandra
sudo systemctl start cassandra
You may check if Cassandra is active by typing:
nodetool status
You will notice something like this:
Output
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 127.0.0.1 103.68 KiB 256 100.0% 129a9437-377d-415b-b6b2-5dc46b73a763 rack1
Apache Cassandra has now been installed on your CentOS server.
Error: The node does not have system_traces yet, probably still bootstrapping
Then wait for some seconds and try again running the same command.Configuring Apache Cassandra
Data for Apache Cassandra is kept in the /var/lib/cassandra
directory, configuration files are found at /etc/cassandra
, and Java startup options can be configured in the file /etc/default/cassandra
.
Cassandra is set up by default to only listen on localhost. You don't need to modify the default configuration file if the client that is connecting to the database is also operating on the same host.
The command line tool cqlsh
is included with the Cassandra package and can be used to communicate with Cassandra using CQL (the Cassandra Query Language).
cqlsh
Output
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.4 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>
Renaming Apache Cassandra Cluster
“Test Cluster” is the default name of the Cassandra cluster. If you wish to change the name of the cluster, follow the below to these steps:
1) Using cqlsh
to access the Cassandra CQL terminal:
cqlsh
The cluster name will be changed to “VegaStack Cluster” by running the command below:
UPDATE system.local SET cluster_name = 'VegaStack Cluster' WHERE KEY = 'local';
Change “VegaStack Cluster” to the name you like. After finishing, type exit
to close the console.
2) Edit the cassandra.yaml
configuration file and type your new cluster name.
sudo vi /etc/cassandra/conf/cassandra.yaml
set cluster name:
cluster_name: 'VegaStack Cluster'
3) To clear the system cache, enter the following command:
nodetool flush system
4) After that, restart the Cassandra service:
sudo systemctl restart cassandra
5) Now, you should see the new cluster name:
cqlsh
Output
Connected to VegaStack Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.13 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>
FAQs to Install Apache Cassandra on CentOS 7
Which Java version is compatible with Apache Cassandra?
Apache Cassandra is compatible with JDK 8. Make sure you have the correct version installed before proceeding with the installation.
How can I check if Cassandra is running?
Use the command nodetool status
or sudo systemctl status cassandra
to verify Cassandra's status and ensure it is running.
How to configure Cassandra for production use on CentOS 7?
For production, modify the cassandra.yaml
file, located in /etc/cassandra/
, to set memory, replication, and other parameters according to your requirements.
Can I access Cassandra from a remote machine?
Yes, you can. Edit the cassandra.yaml
file to set the listen_address
and rpc_address
to the IP address of your machine to enable remote access.
How do I secure Apache Cassandra on CentOS 7?
Secure Cassandra by enabling authentication and encryption. Modify the cassandra.yaml
file to configure authenticator
and internode_encryption
properties.
How can I backup my Cassandra data on CentOS 7?
Use the nodetool snapshot
command to create backups. The snapshots are stored in the data
directory, and you can copy them to a safe location.
How can I update Apache Cassandra to a newer version?
To update Apache Cassandra to a newer version, you can follow the same steps as the installation process, but make sure to back up your data and configuration files before proceeding.
Conclusion
Apache Cassandra has been successfully installed on your CentOS 7 machine. You may now learn how to use Cassandra by visiting the official Apache Cassandra Documentation page.
If you have any queries, please leave a comment below, and we’ll be happy to respond to them for sure.