How to take backup and Restore huge Cassandra Database tables?

124 Views Asked by At

Need to Migrate Cassandra 2.0 to 3.11 to new server

Old Server : Cenos5/6 
Old Cassandra Version : 2.0

New Server : Centos8
New Cassandra Version - 3.11

There are few tables with 20 Million records tried Snapshot and Copy method but the Backup is not being restored.

Any Better approach? Any other tool?

Tried Snapshot Method - which is not working may be coz of version difference Tried COPY method but that is only working for small tables, I used it for other tables which were small in size.

I have 4 tables which have 5 million to 20 millions records.

1

There are 1 best solutions below

0
Aaron On

So a couple of things here.

First, Cassandra 3.11 and 2.0 are not SSTable-compatible. That means any backups taken with nodetool snapshot on 2.0 will not be readable by 3.11.

Secondly, the better approach here is probably to do an in-place upgrade from 2.0 to the latest 2.1 (at least 2.1.9) and then on to 3.11. That way your data can stay in Cassandra, and only the binaries change.

Third, if you're really set on moving data from an old cluster to a new cluster, DSBulk is probably the better way to go. You can use DSBulk to export large tables to a CSV file, and then use DSBulk to import those CSV files into the new cluster.