Hi Dojo,
I took a backup of my local Cassandra node which is running version 3.7. Can I restore this on another node that is running version 3.11? Or must it also run version 3.7?
Yes, this is possible. I did this successfully in a production environment this week.
A full dataminer + DB backup was taken from a v3.7 setup and this was restored on a clean agent, running Cassandra v3.11.8.
1 issue occurred
C:/Program Files/Cassandra/logs/system.log -> "Cannot start node if snitch's data center (dc1) differs from previous data center (datacenter1)"
SOLUTION: stop cassandra and remove or rename the local folder:
C:\ProgramData\Cassandra\system\local-7ad54392bcdd35a684174e047860b377
That's the table where the datacenter reference is stored, this will automatically be created again during next Cassandra startup.
1 recommendation
after the backup restore, open nodetool
Open cmd in location C:/Program Files/Cassandra/bin
Run "nodetool upgradesstables"
This will create the ss tables again based on the new version to minimize any compatibility issues.
Note 1
You'll need to check a couple of things prior to the restore. In C:/Program Files/Cassandra/conf/cassandra.yaml:
- ClusterName
- Seeds
- DiskOptimizationStrategy
- DataPath
Note 2
On the clean agent, it originally had v3.7. Meaning that I first had to uninstall Cassandra (DM Help - there's a step on Cassandra).
Followed by the standalone Cassandra installation (DM Community).
For me it was easy since it was only a single agent/node, I could use the localhost_configuration.xml (change what's needed inside + see note 1)
Note 3
This was not tested on failovers or cluster.