日常维护elasticsearch集群会出现新老集群数据迁移,这里使用的是snapshot api是Elasticsearch用于对数据进行备份和恢复的一组api接口,可以通过snapshot api进行跨集群的数据迁移,原理就是从源ES集群创建数据快照,然后在目标ES集群中进行恢复。
1、新老集群修改集群配置文件:
vim elasticsearch.yml
repo: ["/snapshot"]
2、创建NFS共享目录操作省略
挂载目录:/snapshot (旧集群和新集群挂载同一个目录并配置权限确保目录有读写权限)
3、创建集群索引快照库:】
注意旧集群和新集群都需要操作如下展示
post http://192.168.1.1:9201/_snapshot/interface_2_bakup
{
"type": "fs",
"settings": {
"location": "interface_2_bakup",
"compress": true,
"max_snapshot_bytes_per_sec" : "20mb",
"max_restore_bytes_per_sec" : "20mb"
}
}
可以通过postman工具操作如下图: