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...


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.

  • Thank you for the answer, but something is bugging me, let say I have 3 nodes (A, B, C) on the same cluster of 1.1 version, If I stop node A, upgrade it, and start the node A again, won't it break something since node A is using whisper protocol from 1.2 while B and C is still using whisper protocol from 1.1 ?
    – TheSquad
    Jan 22 '15 at 11:48
  • @TheSquad Not necessarily. You will be fine as long as you observe some general guidelines (no running repairs, no changing permissions, no using new features, etc).
    – Aaron
    Jan 22 '15 at 11:58
  • gossip protocol, not whisper, sorry
    – TheSquad
    Jan 22 '15 at 12:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.