Cassandra – Upgrading from Version 1.1.0 to Latest

cassandra

I have a single node cassandra database running since 2 years now… never had any issues with it, but I would like to upgrade it to the latest cassandra (2.1.2 at the time I write those lines), of course without having to shutdown the service.

I have multiple servers at my disposal, that can be brought up to add nodes into a cluster if needed, what would be the procedure to update from my 1.1.0 version to the latest version without having any downtime ?

I know that it will be hard work, since I can't upgrading from 1.1.0 to 2.1.2 straight, I'll have to go through steps because of un-interoperable versions…

Best Answer

what would be the procedure to update from my 1.1.0 version to the latest version without having any downtime ?

You're going to need to do 3 upgrades in-total:

  • upgrade 1.1 to 1.2
  • upgrade 1.2 to 2.0
  • upgrade 2.0 to 2.1

And you'll want to follow these steps for each upgrade:

  1. Stop the node.

  2. Back up your configuration files. Depending on how you install the product, these files may be overwritten with default values during the installation.

  3. Install the new version of Cassandra.

  4. Configure the new product. Using the backups you made of your configuration files, merge any modifications you have previously made into the new configuration files for the new version. Configuration options change often, so be sure to double check the version restrictions for additional steps and changes regarding configuration.

  5. Start the node.

  6. If you are upgrading from a major version (for example, from 1.2 to 2.0) or a major point release (for example, from Cassandra 2.0 to 2.1), upgrade the sstables on each node.

    $ nodetool upgradesstables

  7. Check the logs for warnings, errors and exceptions. Repeat on each node in the cluster.

For questions on those steps, refer to the DataStax Upgrade Guide.