Elasticsearch 快照管理

发布时间 2023-08-11 11:22:13作者: 章怀柔

准备共享目录

mkdir  /data/esbackup
chown -R elasticsearch:elasticsearch   /data/esbackup
mount -t nfs 192.168.1.110:/data/esbackup /data/esbackup
vi elasticsearch.yam
添加配置:path.repo: ["/data/esbackup"]
注意: /home/esbackup 这个路径必须确保集群所有节点都可以访问到

辅助命令

1)观察集群节点数,查看重启之后的节点是否重新加入了集群:
  _cat/nodes
2)master节点情况:
_cat/master
3)集群健康度:
_cat/health

创建快照相关命令

查看所有仓库  
_snapshot/_all
查看指定仓库
/_snapshot/仓库名称
查看所有索引
_cat/indices
查看所有快照
_snapshot/仓库名称/_all
查看指定快照
_snapshot/仓库名称/快照名称
创建仓库
PUT _snapshot/backup
  {
    "type": "fs",
    "settings": {
    "location": "/data/es_backup",
    "compress": true
    }
}
为全部索引创建快照
PUT _snapshot/backup/snapshot_1
为指定索引创建快照
PUT _snapshot/backup/snapshot_2
{
  "indices": "index_1,index_2",
  "include_global_state":false,
  "ignore_unavailable":"true",
  "partial":"false"
}
backup:表示仓库名称。
snapshot_2:表示快照名称(快照名称必须是小写)
indices:表示创建哪些索引的快照,空表示所有。
ignore_unavailable:忽略不存在的索引(不设置会快照请求会失败)
include_global_state:防止集群的全局状态被作为快照的一部分储存起来
wait_for_completion=true:参数指定是在初始化快照(默认)后立即返回请求还是等待快照完成,true表示等待快照完成之后返回请求。不设置表示进行后台创建快照,立即返回请求。

查看指定快照的信息
GET _snapshot/backup/snapshot_3/_status
#恢复指定索引
POST /_snapshot/backup/snapshot_1/_restore
{
"indices": "index_1",
"rename_pattern": "index_(.+)",
"rename_replacement": "restored_index_$1"
}
恢复所有索引(除.开头的系统索引)
POST _snapshot/my_backup/snapshot_1/_restore
{
"indices":"*,-.monitoring*,-.security*,-.kibana*",
"ignore_unavailable":"true"
}

查看快照中指定索引的恢复信息
GET restored_index_1/_recovery