Jump to main content
DataStax LunaEnterprise Support for Apache Cassandra  —  Start a Free 30-Day Trial Now.
Documentation for developers and administrators on installing, configuring, and using the features and capabilities of Apache Cassandra scalable open source NoSQL database.
What's new?
An overview of new features in Apache Cassandra 3.x.
Important topics for understanding Cassandra.
Architecture in brief
Essential information for understanding and using Cassandra.
Internode communications (gossip)
Cassandra uses a protocol called gossip to discover location and state information about the other nodes participating in a Cassandra cluster.
Data distribution and replication
How data is distributed and factors influencing replication.
A partitioner determines how data is distributed across the nodes in the cluster (including replicas).
A snitch determines which datacenters and racks nodes belong to.
Topics about the Cassandra database.
Storage engine
A description about Cassandra's storage structure and engine.
How Cassandra reads and writes data
Understanding how Cassandra stores data.
Data consistency
Topics about how up-to-date and synchronized a row of data is on all replicas.
Planning a cluster deployment
Vital information about successfully deploying a Cassandra cluster.
Various installation methods.
Installing on Debian-based systems
Install using APT repositories on Debian and Ubuntu.
Installing on RHEL-based systems
Install using Yum repositories on RHEL, CentOS, and Oracle Linux.
Installing from the binary tarball
Install on Linux-based platforms using a binary tarball.
Recommended settings
Recommended settings for Apache Cassandra.
Installing the JDK and Python 2.7
Instructions for installing the JDK on RHEL- and Debian-based platforms, plus installing Python 2.7 on older RHEL-based platforms.
Installing on cloud providers
Installation methods for the supported cloud providers.
Uninstalling Cassandra
Steps for uninstalling Apache Cassandra by install type.
Install locations
Install location topics.
Configuration topics.
cassandra.yaml configuration file
The cassandra.yaml file is the main configuration file for Cassandra.
Cassandra include file
Set environment variables (cassandra.in.sh).
Topics for securing Cassandra.
Configuring gossip settings
Using the cassandra.yaml file to configure gossip.
Configuring the heap dump directory
Analyzing the heap dump file can help troubleshoot memory problems.
Configuring virtual nodes
Topics about configuring virtual nodes.
Using multiple network interfaces
Steps for configuring Cassandra for multiple network interfaces or when using different regions in cloud implementations.
Configuring logging
Cassandra logging functionality using Simple Logging Facade for Java (SLF4J) with a logback backend.
Commit log archive configuration
Cassandra provides commit log archiving and point-in-time recovery.
Change Data Capture (CDC) logging
Change Data Capture (CDC) logging captures changes to data.
Generating tokens
If not using virtual nodes (vnodes), you must calculate tokens for your cluster.
Hadoop support
Cassandra support for integrating Hadoop with Cassandra.
Topics for deploying a cluster.
Initializing a multiple node cluster (single datacenter)
A deployment scenario for an Apache Cassandra cluster with a single datacenter.
Initializing a multiple node cluster (multiple datacenters)
A deployment scenario for a Cassandra cluster with multiple datacenters.
Starting and stopping Cassandra
Topics for starting and stopping Cassandra.
Cassandra operation topics, such as node and datacenter operations, changing replication strategies, configuring compaction and compression, caching, and tuning Bloom filters.
Adding or removing nodes, datacenters, or clusters
Topics for adding or removing nodes, datacenters, or clusters.
Backing up and restoring data
Cassandra backs up data by taking a snapshot of all on-disk data files (SSTable files) stored in the data directory.
Repairing nodes
Node repair topics.
Monitoring Cassandra
Monitoring topics.
Tuning Java resources
Tuning the Java Virtual Machine (JVM) can improve performance or reduce high memory consumption.
Data caching
Data caching topics.
Configuring memtable thresholds
Configuring memtable thresholds to improve write performance.
Configuring compaction
Steps for configuring compaction. The compaction process merges keys, combines columns, evicts tombstones, consolidates SSTables, and creates a new index in the merged SSTable.
Compression maximizes the storage capacity of Cassandra nodes by reducing the volume of data on disk and disk I/O, particularly for read-dominated workloads.
Testing compaction and compression
Enabling write survey mode.
Tuning Bloom filters
Cassandra uses Bloom filters to determine whether an SSTable has data for a particular row.
Moving data to or from other databases
Solutions for migrating from other databases.
Purging gossip state on a node
Correcting a problem in the gossip state.
Topics for Cassandra tools.
The nodetool utility
A list of the available commands for managing a cluster.
The cassandra utility
You can start Cassandra 3.2 and later with special parameters by adding them to the jvm.options file (package or tarball installations) or by entering them at the command prompt (in tarball installations).
The cassandra-stress tool
A Java-based stress testing utility for basic benchmarking and load testing a Cassandra cluster.
SSTable utilities
Tools for using, upgrading, and changing Cassandra SSTables.
Release notes
Release notes for the Apache Cassandra 3.x.