General guidelines and FAQ's for upgrading.
Preparing for an upgrade from DSE to DSE, or from Cassandra to DSE.
Start with the Datastax documentation regarding upgrade and read through all pages before starting an upgrade, for example DSE 2.2 begins at:
Helpful Hint: Use the bottom right corner to walk through all the pages related to upgrading. Dont skip through hyperlinks on the pages. Using the link on the right will keep you moving in an orderly fashion and will cover the topic thoroughly. You can always go back and access individual words after gaining the full picture of the upgrade.
Read NEWS.TXT before beginning the upgrade as it will point out problems between upgrades or things you need to be aware of. [https://github.com/apache/cassandra/blob/trunk/NEWS.txt]
Read CHANGEST.TXT. This can be found at https://github.com/apache/cassandra/blob/trunk/CHANGES.txt.
Read the release notes, For example the release notes for DSE 2.2.1 can be found here: http://www.datastax.com/docs/datastax_enterprise2.2/dse_release_notes#datastax-enterprise-2-2-1 or you can search the Datastax DSE docs for "release notes".
The instructions for install depends on the OS and the upgrade documentation covers the various OS configurations.
So in general upgrades are these steps one node at a time
- snapshot keyspaces as needed.
- backup keyspaces
- nodetool drain -h localhost
- stop the node
- save configs
- Upgrade the installation (refer to the upgrade link above for appropriate OS information)
- Update Cassandra.yaml
- Configure the snitch (dse.yaml)
- Restart the node
- Run tools such as "nodetool upgradesstables" and an offline sstablescrub if using LCS. The upgrade documentation, NEW.TXT, and CHANGES.TXT will provide information on this as well and if they are needed.
* Where do I get the DSE x.x.x tar/zip/rpm?
http://www.datastax.com/download/enterprise. You will need to register before you can download the software.
If you have already registered you can go to the download page. When you are on the registration page, http://www.datastax.com/download/enterprise, click on the word 'download' in step one. It will take you to, http://www.datastax.com/download/enterprise/versions. There when you click on the version you are needing it will ask you to enter your username/password before it will complete the download.
* Can I find all the instruction in a single location, and not have to page through links that go to links that go to links, all across multiple websites.
Unfortunately there is not a one page listing, there is just too much information and dependencies to provide a brief list. You will want to read through all the upgrade pages (some will not apply to you because they are not your OS). However, if you will move through the upgrade pages using the right hand links, that should cover the topics thoroughly, avoiding the skipping to other pages as you read.
* Besides upgrading the binaries, do I need to add new parameters to our old configs, or should I move my specific params to the new config.yaml.
Always check the upgrade documentation for changes. A best practice that most users and the upgrade documentation suggests you adopt is to diff the original yaml to the upgraded yaml and use that for the basis of creating your final upgraded yaml file.
* Once I restart all the nodes in the cluster, do I need to run any nodetool commands on the datafiles?
If you are moving between major revisions, nodetool upgradesstables is recommended.
Running sstablescrub is necessary when upgrading columnfamilies that use LCS
These are just general guidelines and the upgrade pages should be consulted for your specific upgrade.
*If I am moving from Apache Cassandra to DSE, what changes do I need to be aware of?
The most important thing is to read the DSE upgrade documentation, http://www.datastax.com/docs/datastax_enterprise3.0/upgrade/index for example. Then using the right hand links, read through the entire upgrade process. Because the upgrade is from Cassandra to DSE, there are two things that are imperative; configuration files and the starting of the services for DSE. These are all discussed in the upgrade information. But in general the dse.yaml file contains the snitch information and the service is started differently, using dse instead of cassandra. But again all detail is covered in the upgrade information.
Also there are some versions of Cassandra that require a Cassandra to Cassandra upgrade before being able to complete the upgrade to DSE. These versions are covered in the upgrade documentation.
* Plan your upgrade
Planning your upgrade will reduce errors and minimize down time. Some of the things to consider are:
- Read, Read, Read the upgrade documentation.
- Search the Datastax documents for keyword 'production'. This will provide links that are pertinent to production environment settings.
- Backout Strategy
- Order the Nodes should be upgraded (covered in Upgrade Documentation)
- Number of Nodes
- Support Contract - Do you have 24x7 support, or weekday?
* Anything else I should be aware of?
Check your Support Contract. if you have weekday coverage only you may want to plan your upgrade so that support can respond in a timely manner.
If you have trouble with the upgrade, there are several troubleshooting pages at the end of the upgrade information. When opening a ticket with support always supply the following:
- Original version, Upgraded Version
- Number of Nodes
- Compaction Strategy
- Summary of Problem seen
- Actions taken during upgrade and any troubleshooting actions taken
- Attach System log files (it is best to send complete logs)
- Attach dse.yaml(s) and cassandra.yaml(s)
- State of the upgrade, ie completed; 2 of 4 nodes completed, etc..
- Attach an OpsCenter diagnostic tarball (version 3.0 or higher) in lieu of the above files.
Use the Datastax.com/docs documentation. It is very thorough and can be accessed 24x7, 365 days a year. Search for keywords in the DSE documentation such as:
- start DSE
These type of searches will render step by step instructions for DSE.