question

haritha.depa_144971 avatar image
haritha.depa_144971 asked noelle.heerink-wijnja_161326 commented

What options are available for migrating an app to a new cluster without downtime?

We want to move a critical application into a new cluster. In the past, we were able to do by taking application outage/down time and using SStableloader to migrate data to new cluster. After the data is migrated, app is changed to point to new cluster.

Now, we have requirement that the application cannot be down. What are the different options we have and which one works best?

We looked at this article.

https://docs.datastax.com/en/dse/5.1/dse-admin/datastax_enterprise/operations/opsMoveCluster.html

dsemigration
10 |1000

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Erick Ramirez avatar image
Erick Ramirez answered haritha.depa_144971 commented

@haritha.depa_144971 As you would have seen in that document, the general recommendation is to do "dual-writes" in your application meaning it's sending writes to both the existing cluster and the new target cluster while the target cluster is getting populated with existing data.

When the data from the existing cluster has been migrated across to the target cluster, you would then configure your app to stop writing to the old cluster as the final cutover to the new cluster.

I would recommend getting in touch with the Account team to organise a consulting engagement so an architect can work through the details with your team. Cheers!

1 comment Share
10 |1000

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

haritha.depa_144971 avatar image haritha.depa_144971 commented ·

@chandlerpaul and @Erick Ramirez. Thank you for suggestions.

I will look into blog posts.

0 Likes 0 ·
chandlerpaul avatar image
chandlerpaul answered noelle.heerink-wijnja_161326 commented

@haritha.depa_144971 We did a lot of migrations of DSE clusters from Rackspace to Google about 18 months ago, all of those were without any downtime.

We presented this a Datastax Accelerate last year, and from that presentation I created a series of blog posts that give step by step details and some of the pitfalls we encountered: http://www.redshots.com/moving-cassandra-clusters-without-downtime-part-1/

That a look at this, then I am happy at answer any further specific questions.

Thanks

Paul Chandler

5 comments Share
10 |1000

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Cedrick Lunven avatar image Cedrick Lunven ♦ commented ·

AMAZING ! Thank you for those great resources.

0 Likes 0 ·
haritha.depa_144971 avatar image haritha.depa_144971 commented ·

@chandlerpaul. Looks like this solution is challenging for us. We have few apps on existing cluster and want to move only one app to new cluster.

0 Likes 0 ·
chandlerpaul avatar image chandlerpaul haritha.depa_144971 commented ·

Hi @haritha.depa_144971, so is it just one Keyspace you wish to move, or multiple tables within a keyspace.

We have also used a similar process to split a cluster into 2 clusters, I think this is what you are after?

I don't currently have a public version of that process at the moment, but it is something I could put together if it would be of use.

Thanks


Pau, Chandler

0 Likes 0 ·
haritha.depa_144971 avatar image haritha.depa_144971 chandlerpaul commented ·

Yes. It is only one keyspace we want to move to new cluster. This keyspace has 45 tables. Rest of the keyspaces will be on the existing cluster.


0 Likes 0 ·
Show more comments