ElasticSearch数据迁移
在机器上进行归档数据,需要借助的是reindex
API。
1、第一步
迁移数据前,在ES中创建对应的index以及mapping。
例如:
1 | PUT /my_index |
为了加快数据迁移,将 refresh_interval
置为-1,number_of_replicas
置为0:
1 | curl -XPUT -H 'Content-type':'application/json' {some ip}:9200/{index}/_settings -d |
refresh_interval
:文档自动刷新功能,文档的变化并不是立即对搜索实时可见的,需要进行一次刷新;
number_of_replicas
:创建副本,存储备份用,在导入时,关闭以节省时间。
2、第二步
使用reindex-from-remote来同步数据
1 | curl -XPOST -H 'Content-type':'application/json' http://127.0.0.1:9200/_reindex?pretty -d '{ |
conflicts
:导入过程中,源文档和目标文档出现冲突,不会导致导入失败。
version_type
为"external",当目标文档中_id相同时,将保留文档,而不是去覆盖;
"internal"则是直接覆盖。
3、第三步
将 refresh_interval
、number_of_replicas
分别设置回"30s"和1。
1 | curl -XPUT -H 'Content-type':'application/json' {some ip}:9200/{index}/_settings -d |
ElasticSearch集群方案:
使用多节点,冷热数据分离的方式,也就是将读写I/O进行区分,在master上进行写操作,大量read操作分散到集群节点上。
本文标题:ElasticSearch数据迁移
文章作者:小师
发布时间:2019-03-14
最后更新:2022-05-04
原始链接:chunlife.top/2019/03/14/ElasticSearch数据迁移/
版权声明:本站所有文章均采用知识共享署名4.0国际许可协议进行许可