Win:ES快照仓库的创建以及快照的恢复

1 创建Base仓库目录

在集群节点[node-1,node-2,node-3]下创建文件夹:snapshot

C:\own_tool\development_tool\elasticsearch-7.8.0-windows-x86_64\node1\data\snapshot

2 添加Base仓库路径到es配置文件

在集群节点[node-1,node-2,node-3]/config/elasticsearch.yml中添加base目录仓库[确保该目录三台节点都可访问到]:

path.repo: ["C:\\own_tool\\development_tool\\elasticsearch-7.8.0-windows-x86_64\\node1\\data\\snapshot"]

3 启动集群

这个就自己启动了哈

4 注册一个 my_backup_1 仓库

这里仅仅存放快照,记住,这里不是生成快照,只是注册一个仓库

curl -XPUT "http://localhost:9200/_snapshot/my_backup_1" -H 'Content-Type:application/json' -d '
{
    "type": "fs",
    "settings": {
        "location": "C:\\own_tool\\development_tool\\elasticsearch-7.8.0-windows-x86_64\\node1\\data\\snapshot\\my_backup_1",
        "max_snapshot_bytes_per_sec": "20mb",
        "max_restore_bytes_per_sec": "20mb",
        "compress": true
    }
}'
type:fs  表示以快照的方式存储文件
location:仓库的地址(path.reop + location),共享文件系统路径必须确保集群所有节点都可以访问到
max_restore_bytes_per_sec:节点恢复速率(当从仓库恢复数据时)。默认20mb/s。
max_snapshot_bytes_per_sec:每个节点快照速率(当快照数据进入仓库时)。默认20mb/s。
compress:是否压缩,默认为是。
chunk_size:块大小,在快照过程中,大文件会被分解成块,该属性指定块的大小。1GB、500MB、5KB、500B,默认为null(不受块大小限制。)
readonly:让库只读,默认为false

5 查看仓库的信息

curl -XGET 'http://localhost:9200/_snapshot/my_backup_1?pretty'
curl -XGET 'http://localhost:9200/_snapshot/_all'

6 快照所有打开的索引

发送完请求会立即响应,快照会在后台进行

# curl -XGET -u elastic:123321 http://localhost:9200/_snapshot/仓库名称/快照名称
curl -XPUT 'http://localhost:9200/_snapshot/my_backup_1/snapshot_1'
# 指定wait_for_completion=true时会一直阻塞直到快照完成。
curl -XPUT 'http://localhost:9200/_snapshot/my_backup_1/snapshot_1?wait_for_completion=true

7 快照指定索引

curl -XPUT 'http://localhost:9200/_snapshot/my_backup_1/snapshot_2'
{
    "indices": "my_index_1,my_index_2",
    "ignore_unavailable": "true",
    "include_global_state": "false",
    "partial": "false",
    "wait_for_completion": "true"
}'
my_backup_1:表示仓库名称。
snapshot_2:表示快照名称(快照名称必须是小写)
indices:表示创建哪些索引的快照,空表示所有。
ignore_unavailable:忽略不存在的索引(不设置会快照请求会失败)
include_global_state:防止集群的全局状态被作为快照的一部分储存起来
wait_for_completion=true:参数指定是在初始化快照(默认)后立即返回请求还是等待快照完成,true表示等待快照完成之后返回请求。
                          不设置表示进行后台创建快照,立即返回请求。
partial:默认情况下,如果快照红的1个或多个索引不是全部分片都可用会导致整个请求过程失败,将其设置为  true 可以改变此行为。

8 查看备份情况

curl -XGET 'http://localhost:9200/_snapshot/my_backup_1/snapshot_1'

9.0 删除,关掉备份之前的索引

1)删除索引:
    curl -XDELETE  'http://localhost:9200/索引名称'
2)关闭索引:
    curl -XPOST 'http://localhost:9200/索引名称/_close'

9.1 快照恢复

#异步调用
curl -XPOST 'http://localhost:9200/_snapshot/my_backup_1/snapshot_1/_restore'
#同步阻塞
curl -XPOST 'http://localhost:9200/_snapshot/my_backup_1/snapshot_1/_restore?wait_for_completion=true'

10 恢复指定索引并重命名索引

curl -XPOST 'http://localhost:9200/_snapshot/my_backup_1/snapshot_2/_restore
{
    "indices": "my_index_1,my_index_2",
    ## "rename_pattern": "my_index_1_2022",
    "rename_pattern": "my_index_(.+)",
    ## "rename_replacement":"restored_my_index_1"
    "rename_replacement": "restored_my_index_$1"
}'
rename_pattern:查找所提供的模式能匹配上的正在恢复的索引。
rename_replacement:然后把它们重命名成替代的模式。
wait_for_completion=true:参数指定是在恢复快照后立即返回请求还是等待快照完成,true表示等待快照完成之后返回请求。
                          不设置表示立即返回请求,然后后台恢复索引。   

11 查看备份恢复情况

# 1)查看全部快照恢复情况:
    curl -XGET 'http://localhost:9200/_recovery'
# 2)查看指定索引快照恢复情况:
    curl -XGET  'http://localhost:9200/my_index_1/_recovery'

12 删除快照

curl -XDELETE 'http://localhost:9200/_snapshot/my_backup_1/snapshot_1'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值