I have elasticsearch 0.90 cluster running a single node on each of two Amazon instances.
The cluster is configured for:
5 shards / 2 replica
From my understanding of how elasticsearch works, i should be able to upgrade the Amazon instances to ones with more memory without creating any downtime for my clients (the clients are aware of both nodes). This should also be simple as I don't plan to upgrade the elasticsearch version yet (challenge for another day). But because the downtime can be pretty catastrophic for some clients, i wanted to run by the following approach to make sure it makes sense:
- bring down elasticsearch running on one instance. : curl -XPOST 'http://localhost:9200/_cluster/nodes/_local/_shutdown'
- wait some time?
- upgrade the instance to have more memory.
- bring the new instance back up.
- wait some time for cluster to be green again.
- repeat with other instance.
After i bring down the first node - is there any need to wait? i assume once the node is down, i might as well just bring down the instance altogether.
If there's any gotchas to consider or if there is a better approach, please let me know.