This section describes how to upgrade Cassandra 0.8.x to 1.0.x and how to upgrade between minor releases of Cassandra 1.0.x. The procedures also apply to DataStax Community Edition.
The following steps are recommended before upgrading Cassandra:
Take a snapshot before the upgrade. This allows you to rollback to the previous version if necessary. Cassandra is able to read data files created by the previous version, but the inverse is not always true.
Taking a snapshot is fast, especially if you have JNA installed, and takes effectively zero disk space until you start compacting the live data files again.
Check https://github.com/apache/cassandra/blob/trunk/NEWS.txt for any new information on upgrading.
For a list of fixes and new features, see https://github.com/apache/cassandra/blob/trunk/CHANGES.txt.
Upgrading from version 0.8 or later can be done with a rolling restart, one node at a time. You do not need to bring down the whole cluster at once.
To upgrade a binary installation from 0.8.x to 1.0.x:
To upgrade a CentOS/RHEL packaged release installation from 0.8.x to 1.0.x:
To upgrade a Debian/Ubuntu packaged release installation from 0.8.x to 1.0.x:
To complete the upgrade, perform the following steps:
The upgrade procedure between minor releases of Cassandra 1.1.x is identical to the upgrade procedure between major releases with one exception: Do not perform the last step of Completing the Upgrade to run nodetool upgradesstables or nodetool scrub after upgrading.
This table lists cassandra.yaml parameters that have changed between 0.8 and 1.0. See the cassandra.yaml reference for details about these parameters.
| Option | Default Value |
|---|---|
| 1.0 Release | |
| broadcast_address | Same as listen_address - set to the public IP in multi-region EC2 clusters |
| compaction_thread_priority | Removed (use compaction_throughput_mb_per_sec instead) |
| commitlog_rotation_threshold_in_mb | Removed |
| commitlog_total_space_in_mb | 4096 (replaces column family storage property memtable_flush_after_mins) |
| multithreaded_compaction | false |
| memtable_total_space_in_mb | 1/3 of heap (replaces column family storage properties memtable_operations_in_millions and memtable_throughput_in_mb) |
| 0.8 Release | |
| seed_provider | SimpleSeedProvider |
| seeds | Now a comma-delimited list in double quotes. |
| memtable_total_space_in_mb | 1/3 of heap |
| compaction_throughput_mb_per_sec | 16 |
| concurrent_compactors | One per CPU |
| internode_encryption | none |
| keystore | conf/.keystore |
| keystore_password | cassandra |
| truststore | conf/.truststore |
| truststore_password | cassandra |