What is the best way to migrate an ElasticSearch cluster to new hardware?

I have an elastic search cluster running on 6 understaffed nodes. I want to transfer it to a new set of 4 very heavy nodes. I am trying to find a better way to do this. Since I am switching from 6 nodes to 4 nodes, I cannot just copy data files from the old cluster to the new one. It looks like the snapshot and restore function is the way to go, but I can't find a documented way to create a snapshot on one set of hardware and restore it to another set. Has anyone ever done such a hardware update using ElasticSearch?

+4
source share
2 answers

To use snapshot / restore, you must have a common mount point on all servers (e.g. NFS). You must add the repository to both clusters, then snapshot on one and restore on the other. The exact commands are well described here: http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html

Another way to migrate is to first cluster together and wait until everything is green. Then follow the process of decommissioning old slow nodes: How to remove node from elasticsearch cluster at runtime without downtime

- , @Zouzias . node.js: https://github.com/mallocator/Elasticsearch-Exporter, , , .

- API, 5.x - reindex from remote :

POST _reindex
{
  "source": {
    "remote": {
      "host": "http://otherhost:9200",
      "username": "user",
      "password": "pass"
    },
    "index": "source"
  },
  "dest": {
    "index": "dest"
  }
}

, reindex.remote.whitelist elasticsearch.yml.

+8

, , : ( ) ices elasticsearch , API Java, API API .

, API , API.

/ .

+1

All Articles