Easy way to transfer data from one node to another?

From time to time, we know that we have to shutdown nodes (remove a node from a cluster) and add a new one. Normally, we shutdown the node, add a new one, and just let the cluster determine the best way to re-allocate everything.

What I’m wondering is if there is in fact a better way to do this — e.g. add a new one and just ask the node that we are shutting down to transfer all its data over to the new node and then turn it off when the migration is complete.

I ask because this way I can keep the cluster in green state throughout which feels safer. I know that I can theoretically change node types from hot to something else so that data will just move out on its own, but I’m not sure if there are better ways to do this.

Thanks!

You can exclude the node being removed from allocation, which is akin to the same thing.

I see. So something like this?

PUT _cluster/settings
{
  "transient" : {
    "cluster.routing.allocation.exclude._ip" : "10.0.0.1"
  }
}

That’s great to know. Thank you!

1 Like