ES索引数据迁移 _reindex
索引数据 集群内 增量或全量迁移数据
·
索引数据迁移
集群内部索引迁移,从一个索引迁移数据到另一个索引里
1. 创建新索引
新索引与就索引结构保持一致
通过就索引_mapping _setting 获取配置和结构信息 然后创建新索引
需要注意 添加如下配置
"settings": {
"number_of_replicas": 0,
"number_of_shards": 3,
"refresh_interval": "-1"
}
- 设置number_of_replicas为0防止我们迁移文档的同时又发送到副本节点,影响性能
- 设置refresh_interval为-1是限制其刷新。默认是1秒
- 当我们数据迁移完成再把上面两个值进行修改即可
2. 迁移数据
POST _reindex
{
"source": {
"index": "old_index",
"size":1000 //可选,每次批量提交1000个,可以提高效率,建议每次提交5-15M的数据
"query": {} // 可选, 不写的默认是全量数据迁移 写上条件就是选择性迁移数据
},
"dest": {
"index": "new_index"
}
}
3. 恢复索引设置
PUT /new_index/_settings
{
"refresh_interval": "1s",
"number_of_replicas": 2
}
更多推荐
已为社区贡献1条内容
所有评论(0)