一、题目
备份集群下的索引 task,存储快照名称为 snapshot_1
二、思考
这个涉及的是集群的备份,主要是通过创建快照,涉及到以下2步骤
Setp1:注册一个备份 snapshot repository
Setp2:创建 snapshot
三、解题
es支持多种方式,例如:亚马逊云、谷歌云存储、本地文件系统等。这里我们主要是使用本地存储。
Step 1、配置快照存储路径
注意:这里有个前提,必须在ES的配置文件中elasticSearch.yml 中配置路径 path.repo,这里不考虑多个服务器共享存储的问题。
path.repo: /elasticsearch/snapshot
在各个节点配置完成后,需要重启节点后才能生效
Step 2、创建repository
注意:
- put请求方式
- _snapshot后面为自定义名称
- type 指定为 fs,代表文件系统
- location 路径为刚刚配置的 path.repo 中的路径
PUT _snapshot/my_fs_backup
{
"type": "fs",
"settings": {
"location": "/elasticsearch/snapshot"
}
}
Step 3、创建快照
主要分为两种方式:自动SLM创建 和 手工创建
1)SLM 方式创建
- schedule可以指定周期cron表达式
- name 文件命名格式
- repository 指定存储仓库
- config 要备份的索引
- retention 快照保存时间等
PUT _slm/policy/nightly-snapshots
{
"schedule": "0 30 1 * * ?",
"name": "<nightly-snap-{now/d}>",
"repository": "my_fs_backup",
"config": {
"indices": "*",
"include_global_state": true
},
"retention": {
"expire_after": "30d",
"min_count": 5,
"max_count": 50
}
}
2)手工方式创建
- indices 指定多个索引,多个索引通过逗号拼接,或者使用正则表达式
- ignore_unavailable 是否忽略失败
- metadata 备份元数据信息
PUT /_snapshot/my_fs_backup/snapshot_1?wait_for_completion=true
{
"indices": "task1",
"ignore_unavailable": true,
"include_global_state": false,
"metadata": {
"taken_by": "pgw",
"taken_because": "backup before upgrading"
}
}
Step 4、恢复快照
注意:_snapshot后面依次为注册备份仓库,快照名称
POST /_snapshot/my_fs_backup/snapshot_1/_restore
四、总结
1)快照的备份的前提准备一定要修改es配置文件,注意必须重新后才能生效
2)快照需要保存在仓库repository中
3)创建的快照方式有两种一种规则自动SLM,一种手动
参考资料
- Snapshot and restore | Elasticsearch Guide [8.1] | Elastic
- Create or update snapshot repository API | Elasticsearch Guide [8.1] | Elastic
- Create snapshot API | Elasticsearch Guide [8.1] | Elastic
- Restore snapshot API | Elasticsearch Guide [8.1] | Elastic
送一波福利:
福利一
有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!
有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!
有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!
福利二
福利三
标签:fs,快照,repository,--,创建,备份,备考,ElasticSearch,snapshot From: https://blog.csdn.net/hengzhepa/article/details/142444348