参考文章:
- 三种常用的 Elasticsearch 数据迁移方案
- ES基于Snapshot(快照)的数据备份和还原
- CDH修改ElasticSearch配置文件不生效问题
目录
- 1、更改老ES和新ES的config/elasticsearch.yml
- 2、重启老ES,在老ES执行Postman中创建备份目录操作
- 3、在老ES中执行Postman中执行备份操作
- 4、停止老ES,将老ES中的backup目录复制到新ES目录下
- 5、启动新ES,在新ES执行Postman中创建备份目录操作
- 6、在新ES执行Postman中创建恢复索引操作
1、更改老ES和新ES的config/elasticsearch.yml
添加path.repo: ["backup"]
即可,截图如下:
2、重启老ES,在老ES执行Postman中创建备份目录操作
请求方式:
PUT
请求链接:
# 举例:127.0.0.1:9200/_snapshot/my_backup
ES的ip:ES的port/_snapshot/备份名称
请求头:
Content-Type:application/json
请求体:
# fs代表文件存储系统,也就是存储到本地
# kms_wiki代表本次存储文件夹名称是kms_wiki
{
"type": "fs",
"settings": {
"location": "kms_wiki"
}
}
整体效果如下图:
3、在老ES中执行Postman中执行备份操作
请求方式:
PUT
请求链接:
# 举例:127.0.0.1:9200/_snapshot/my_backup/snapshot1
ES的ip:ES的port/_snapshot/第2步请求链接中的备份名称/快照名称
请求头:
Content-Type:application/json
请求参数:
# wait_for_completion=true的作用是访问链接不会马上结束,而是会一直等待,等到完成位置
wait_for_completion:true
请求体:
{
"indices": "kms.wiki"
}
解释:kms.wiki
是需要备份的索引名称
整体效果如下图:
4、停止老ES,将老ES中的backup目录复制到新ES目录下
5、启动新ES,在新ES执行Postman中创建备份目录操作
请求方式:
PUT
请求链接:
# 举例:127.0.0.1:9200/_snapshot/my_backup
ES的ip:ES的port/_snapshot/第2步请求链接中的备份名称
请求头:
Content-Type:application/json
请求体:
# fs代表文件存储系统,也就是存储到本地
# kms_wiki代表本次存储文件夹名称是kms_wiki
{
"type": "fs",
"settings": {
"location": "kms_wiki"
}
}
整体效果如下图:
6、在新ES执行Postman中创建恢复索引操作
请求方式:
POST
请求链接:
# 举例:127.0.0.1:9200/_snapshot/my_backup/snapshot1/_restore
ES的ip:ES的port/_snapshot/第2步请求链接中的备份名称/第3步请求链接中的快照名称/_restore
请求头:
Content-Type:application/json
请求参数:
# wait_for_completion=true的作用是访问链接不会马上结束,而是会一直等待,等到完成位置
wait_for_completion:true
整体效果如下图: