I am currently planning for an upgrade to 2.0.7 cassandra version . My base version is 2.0.3. I have not done an upgrade so far and hence want to be absolutely sure about what am doing . Can someone explain what needs to be done apart front this.
- Do a nodetool drain to stop all writes to the particular node.
- Stop the cassandra node(I have a 8 node , 2 data center network topology. I am bringing down one node in DC1)
- Change the cassandra.yaml accordingly in the new binary tarball.
- Make the required changes for the new node(using gossiping property file snitch. So , making changes for that)
- Start off the new cassandra binary(2.0.7)
Question striking me the most
- Do I have to copy the data from 2.0.3 to 2.0.7? 2.Even if it's a rolling upgrade , I think the following steps will do( Except moving from one version to another ) . My assumption is right?
- Am going to do this operation on a running application. Am planning to have the application running while doing this as I have enough replicas in local quorum to satisfy reads and writes. Does this idea have any disadvantages ? I loved cassandra for this kind of operation but would like to know of there are any potential problems ?
- I will be having the existing 2.0.3 in my running machine while doing this. If there is a problem in 2.0.7 , I shall start off 2.0.3 version again right? Just wanted to know whether there will be any data conflicts with other nodes in the cluster? Or having a snapshot to recover the data is the best option? 5.Apart from this, any other thing I have bear in mind?