1. es集群常见的三种数据迁移方式,先扩容再缩容、reindex、elasticdump 这三种方式都是站在底层的操作,还有什么业务层的,同时写两个集群一类的 暂时先不谈。
  2. 首先谈下先扩容再缩容的操作,首先准备跟老集群一样或者多于老集群的节点数量,作为新节点扩容到集群里面。扩容节点里面另外起三个master节点, 然后将老节点的数据排空。把老节点做下线操作,下掉老节点即可,完成数据迁移、 优点:业务无感知,缺点:操作麻烦 跨度时间长
  3. reindex方式,目标集群设置白名单,滚动重启目标节点(如果上面没业务就可以直接全部重启),然后执行命令即可。命令后面附上
  4. elasticdump方式,新老集群不需要任何操作 直接按照elasticdump语法直接操作即可。 也不需要业务过多干涉。但是经测试同步速度非常慢。

reinde操作方式
目标集群添加一下配置文件

  reindex.remote.whitelist: ["10.247.63.34:9200"]

目标集群上执行针对索引的同步命令

  curl -XPOST "http://10.230.132.42:9200/_reindex" -H 'Content-Type: application/json' -d'
  {
  "source": {
  "remote": {
  "host": "http://10.100.66.60:9200"
  },
  "index": "xjjy_nls_detail",
  "query": {
  "match_all": {}
 }
 },
 "dest": {
 "index": "xjjy_nls_detail1"
 }
 }'