Cassandra migration from 1.2.9 to 3.11 - cassandra

I need to migrate from Cassandra 1.2.9 to 3.11.
The plan is to go like this: 1.2.9-> 2.0.11 -> 2.2.* -> 3.11
Do you consider that is better to upgrade the cluster or to migrate data from 1.2.9 to 2.2 and after that to 3.11?
Is anything that you can consider a blocker?
I started from those threads:
Upgrading Cassandra 1.2.9 to 2.0.x
upgrade apache cassandra from 2.0.11 to 3.11

Migration will require additional hardware also you may not have continuous traffic going for you with migration. Do the upgrades as mentioned in upgrade guides/ instructions. You will do well going upgrade way.

Related

Is it possible to upgrade Cassandra 2.2.19 directly to 3.11?

I'm planning to upgrade my 100+ nodes cassandra baremetal cluster with current version 2.2.19.
Please let me know if I can upgrade from 2.2.19 to 3.11 directly ?
Also what is the timeline to wait to upgrade to next version i.e from 3.11 -> 4.x, can I upgrade to the latest version ( 2.2.19 -> 3.11 -> 4.x ) in single upgrade plan ?
Thank you
It isn't an issue upgrading a Cassandra 2.2.19 cluster directly to the latest 3.11 release.
There is no requirement to have a break to upgrade to C* 4.x -- upgrading the nodes isn't going to be an issue at all. What you need to be concerned with is whether you need to upgrade the driver you're using.
If you do need to upgrade the driver, you need to refactor your application if the new version of the driver is not binary-compatible with the old version. For example, upgrading from Java driver 3.x to 4.x has breaking changes (see the Java driver v4 Upgrade Guide for details).
Before upgrading your cluster, make sure you familiarise yourself with the upgrade instructions for the various releases:
Cassandra 3.11 NEWS.txt
Cassandra 4.0 NEWS.txt
Cassandra 4.1 NEWS.txt

sstabloader compatibility between datastax cassandra and apache cassandra

Does sstabloader work between datastax cassandra and apache cassandra?
I'm trying to copy data from dse 5.0.7 to apache 3.11.1 cassandra version
It shouldn't be an issue to use it to export between Datastax Cassandra and the open source version, if they are the same versions.
Having said that, please note that DSE 5.0.7 uses Apache 3.0.11, as explained in the release notes. This means that you should import the data to a cluster with that version, and once that this is completed, upgrade to 3.11.1.
Disclosure: I'm not a DSE user, I don't have a way to test this.

Apache Cassandra upgrade 3.X from 2.1

Is it possible to upgrade Apache Cassandra 2.1.9+ to Apache Cassandra 3.1+ directly?
The release notes for 3.0 mention direct upgrades need a minimum of Apache Cassandra 2.1.9+, but all further releases of Apache Cassandra don't mention whether an intermediate version is needed.
Yes, you can upgrade from Cassandra 2.1.9 (or higher) to Cassandra 3.1 (or higher).
As stated in the DataStax dev blog in June of 2015, Cassandra moved to a "tick-tock" release cycle with version 3. The details of which you can get from the link, but the main point is that the release structure of 3.x is not the same as it was with 2.x.
Cassandra 2.0, 2.1, and 2.2 were different enough in terms of features and storage modifications that they required a structured upgrade path. Cassandra 3.x does not. You can upgrade directly to 3.1, 3.4, or 3.10 (just released). As long as you meet the 3.0 upgrade requirements (Cassandra version >= 2.1.9) you don't need to worry about intermediate upgrades with the 3.x line.
As per my experience about upgrading Cassandra if you are doing upgrade from below 2.1.9 then you must upgrade to 2.1.9 or above then you can directly upgrade to 3.x version. There is no issue in this way and you upgrade will be successful but if you are doing it on production make sure to do rolling upgrade with all prerequisites and backup. Don't forget to run nodetool upgradesstables after Cassandra upgrade.
When upgrading from 2.2.8 to 3.11.6 , while upgrading the last node in the cluster, when last node on which the upgrade is left the client is not able to connect to cluster untill upgrade on the last node finishes. We are having a 5 node cassandra cluster running on aws ec2.

Can I upgrade DataStax Enterprise directly from 4.5.1 to 4.8.9 ?

Do we have to upgrade to interim version DSE 4.6 then go for 4.8 ?
we are using DSE 4.5.1 for our Cassandra db only .
You should be able to upgrade to 4.8.x from 4.5.y.
Cassandra major release (e.g. 2.1 to 3.0) or major point release (e.g. 2.0 to 2.1), might involve sstable version change which will require running upgradeSSTables from nodetool. Cassandra sstable versions are normally backward compatible with previous version but not before that. That’s why if you want to say upgrade to 2.2 from 2.0 then you would first upgrade to 2.1. While you are doing a rolling upgrade to 2.1 from 2.0 your cluster will be in mixed mode (some nodes still on 2.0 while other upgraded to 2.1). This will be OK because Cassandra will support reading from previous sstable version. But before you can upgrade to 2.2 you need to upgrade sstables. Once that is done (nodetool upgradesstables) on all the nodes then you can upgrade to 2.2.
In above example I have talked about Apache Cassandra version, but similar logic can be applied to DSE. Here is a link of which Cassandra version is used by various DSE and other upgrade related info
upgradedDSE47or48
The usual restrictions and limitation apply while cluster is in mixed mode as mentioned here

upgrade steps from DataStax Enterprise 4.6.1 TO DataStax Enterprise 4.7 with Cassandra 2.1

I'm new to cassandra, can some one provide steps to upgrade from DataStax Enterprise 4.6.1 TO DataStax Enterprise 4.7 with Cassandra 2.1
This should get you where you'd like to go: http://docs.datastax.com/en/upgrade/doc/upgrade/datastax_enterprise/upgradeDSE47.html
Since you're new to Cassandra, I suggest reading the docs over and over - even doing this in a test environment first. While upgrades are fairly straight forward (depending on node count and amount of data), there's no real easy way of reverting from Cassandra 2.1 (DSE 4.7) to Cassandra 2.0 (DSE 4.6). So make sure you have snapshots of sstables from DSE 4.6 before proceeding.

Resources