Smooth migration of ES 2.3 cluster to another data center

I have an ES 2.3 cluster of 6 nodes running in a data center holding ~60Gb of data.

I wish to find the smoothest migration path with the least downtime possible to move the data over to a similar size cluster running on a public cloud provider.

Is it possible to create nodes on the target data center and add them in the existing cluster then remove nodes on the old cluster one by one ? By reading the docs and blogs it seem like it would not work since they are not on the same subnet. Is there a workaroud ?

I don't have a shared storage on all nodes on the current cluster and the AWS backup plugin seems bugged on that version.

Is there any other path I should consider ?

I am also open to a short downtime < 1-2h if it simplifies thing a lot.

Thanks

Given you are on such an old version, the cleanest approach would be to do a remote reindex into a more current version (latest is 7.13).

The thing is that developers of the app using this cluster don't have time to handle the code changes for an ES version bump. I am looking for a way to migrate and stay on the same version :disappointed:

Ok, well 2.3 was released in 2017, so you're going to struggle no matter what. I don't even know who provides hosting for versions that old anymore.

Nah it's not a managed ES service. It's a custom deployment on k8s based on a old version of the stable helm chart for ES. The setup is up and have been running in production for another instance of our app for more than a year now. That part does not stress me much.

It's the migration of the data for the instance referred in the original post that make me go :exploding_head:

I know this is far from an ideal setup but this what I need to deal with if I want to go forward with the rest...

Without a snapshot and restore, you can try joining nodes to the cluster and then using allocation filtering to shift things, but you don't have a backup if things go pear shaped.

You could stand up a new cluster and stream documents over using the Scan/Scroll API.

I am doing a similar migration and that is the approach we are taking, although we are also upgrading to 7.x in the process.

Amazon Elasticsearch still supports 2.3 so that could be an option (although check that all the features you need are supported): Supported Elasticsearch operations - Amazon Elasticsearch Service

Ultimately though, at some point you're going to have to bite the bullet and upgrade. Otherwise you will be stuck on a super old version that nobody knows how to maintain.

It is a perfectly reasonable case to make to the business that this is necessary work for ongoing stability of your system, even if it does require significant resource to achieve (it's taking us weeks to do, and it's hard).

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.