废话不多说直接上步骤:
说明:
/mnt/backup是linux目录,如果是win本地测试迁移,也可以用本地的目录E:\\xxxx
一、修改es搜索引擎配置elasticsearch.yml
在elasticsearch.yml中增加path.repo: /mnt/backup
二、创建备份仓库(千万别问我下面这个在哪输入)
// 创建仓库
PUT _snapshot/my_backup
{
"type": "fs",
"settings": {
"location": "/mnt/backup",
"compress": true
}
}
三、备份索引(备份数据)
// 针对具体的index创建快照备份,其中snapshot_name 是快照的名字。
PUT _snapshot/my_backup/snapshot_name
{
"indices": "index_1, index_2"
}
// 查看备份状态
GET _snapshot/my_backup/snapshot_name/_status
// 备份创建好之后,在共享目录/mnt/backup里是这样的:
-rw-r--r-- 1 root root 31 12月 15 22:14 index
drwxr-xr-x 3 root root 4096 12月 15 22:14 indices
-rw-r--r-- 1 root root 83 12月 15 22:14 metadata-snapshot_name
-rw-r--r-- 1 root root 181 12月 15 22:14 snapshot-snapshot_name
五、备份文件的恢复操作
// 如果索引已经存在需要先关闭索引,恢复数据后再开启
POST /index_name/_close
POST _snapshot/my_backup/snapshot_name/_restore
POST /index_name/_open
// 10.查看恢复的状态
GET _snapshot/my_backup/snapshot_name/_status
以上五个步骤就是ES搜索引擎的备份与恢复,只要得到备份文件就可以把它们迁移到其他的集群下或者是本地开发的windows下,然后执行恢复操作,就完成了大量的迁移工作。记住版本差别大就不要迁移了,会导致数据格式内容不同无法正常迁移
如果想了解更多,可以加QQ群 119170668:亲自找我,我为你指导。群主就是我!欢迎大家进群讨论套路