版本 | 说明 | 编写人 | 时间 |
---|---|---|---|
v1.0 | 文档创建 | xxx | 2022年9月14日 |
一、准备
1、源 ES 数据
172.20.158.243
1.1、 repo 地址: /var/lib/elasticsearch/backup
1.2、 es 配置文件修改
yaml
```yaml,这步骤可以省去
network.host: ["172.20.164.165","127.0.0.1"]
http.port: 9200
http.enabled: true
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
# 添加这一行👇👇👇
path.repo: ["/var/lib/elasticsearch/backup"]
# 添加这一行👆👆👆
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
bootstrap.system_call_filter: false
1.3、注册 repo
vbnet
curl -s -X PUT "localhost:9200/_snapshot/backup" -H 'Content-Type: application/json' -d'
{
"type": "fs",
"settings": {
"location": "/var/lib/elasticsearch/backup"
}
}'
1.4、查看repo
bash
curl http://localhost:9200/_snapshot/backup
1.5、创建备份
bash
curl -s -X PUT "localhost:9200/_snapshot/backup/emap_0914?wait_for_completion=true&pretty"
# 将备份压缩打包
cd /var/lib/elasticsearch && tar cf emap_0914.tar backup
2、目的ES主机IP
172.21.46.46
172.21.46.45
172.21.46.44
172.21.46.43
172.21.46.42
172.21.46.41
172.21.46.39
172.21.46.38
172.21.46.37
2.1、repo路径:/opt/elasticsearch/backup
2.2、注册repo
bash
# 使用ansible 批量注册
ansible -i es_data_recover_hosts0914 all -m shell -a "curl -s -X PUT "localhost:9200/_snapshot/backup?pretty" -H 'Content-Type: application/json' -d ' { "type": "fs", "settings": { "location": "/opt/elasticsearch/backup" } }'" -o
二、操作
1、将备份文件包传递到跳板机上
css
ansible -i es_data_recover_hosts0914 all -m unarchive -a "remote_src=yes src=http://172.25.243.96:8222/emap_0914.tar dest=/opt/elasticsearch/ owner=elasticsearch group=elasticsearch"
2、清空index 并开始恢复
css
ansible -i es_data_recover_hosts0914 all -m shell -a 'curl -s -X DELETE "localhost:9200/_all" && echo deleted && curl -s -X POST "localhost:9200/_snapshot/backup/emap_0914/_restore?" && echo restore started' -o
3、清除备份文件
bash
# 源ES上的备份数据
curl http://localhost:9200/_snapshot/backup/emap_0914?pretty
curl -s -X DELETE "localhost:9200/_snapshot/backup/emap_0914"
rm -rf emap_0914.tar
# 目的ES上的备份数据
三、注意点
- repo路径
- Emap ES版本5.2.2
- Emap ES的安装路径有好几种,需要提前知晓(有/var/lib 下,也有/etc/elasticsearch下)