三、Elasticsearch本地/远程重建索引

一、概述

ES升级后或者数据需要迁移,需要重建索引
这个只是个官网的翻译,具体在做的时候会详细讲解
参考链接:

二、Reindex in place 本地重建索引

1、可以用Upgrade Assistant(Kibina6.8)重建索引

2、手工重建索引

1、新建一个集群,并添加到需要拉取的数据的老集群中

修改elasticsearch.yml:reindex.remote.whitelist: 老集群的IP:9200

2、针对每一个index的操作

  • 在新集群中新建索引并指定mappings,将 refresh_interval 设置为-1,number_of_replicas 设置为0
  • 使用reindex API将数据搬过来
POST _reindex
{
  "source": {
    "remote": {
      "host": "http://oldhost:9200",
      "username": "user",
      "password": "pass"
    },
    "index": "source",
    "query": {
      "match": {
        "test": "data"
      }
    }
  },
  "dest": {
    "index": "dest"
  }
}

如果将wait_for_completion设置为false,则同步会在后台进行,可以通过下面的url查询这个状态:TASK_ID是执行后返回的

GET _tasks/TASK_ID
  • 还原refresh_interval(默认为30s) 及 number_of_replicas (默认为1)
  • 同步完毕后,并且状态是green,就可以删除旧的索引
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容