ES备份与恢复

2023-07-04

config/elasticsearch.yml配置

path.repo: ["C:\\elasticsearch\\backup"]




配置解释:

注意请求方式:POST请求会更新已有的仓库配置,PUT会重新创建该仓库。

type:仓库的类型为共享文件系统

location: 指定仓库的路径,必须为path.repo 的子目录

max_snapshot_bytes_per_sec:快照数据进入仓库时,该参数可以控制过程的限流情况,默认为每秒20M

max_restore_bytes_per_sec:从仓库恢复数据时,该参数控制过程限流情况,默认值:每秒20M

注意:如果挂在的路径为远程目录时,应该合理配置该值,不至于网络流量被占满。

compress: 数据是否压缩


POST _snapshot/backup

{

 "type": "fs",

 "settings": {

  "location": "C:\\elasticsearch\\backup",

  "max_snapshot_bytes_per_sec": "20mb",

  "max_restore_bytes_per_sec": "20mb",

  "compress": true

 }

}



wait_for_completion=true会一直阻塞直到快照完成。

indices:指定索引备份

ignore_unavailable: 如果indices指定的某些索引不存在时,是否忽略,默认为true 忽略不存在的索引。

include_global_state:是否阻止集群全局状态保存为快照的一部分。

PUT _snapshot/backup/snapshot_1?wait_for_completion=true

{

 "indices": "plan_1,plan_2",

 "ignore_unavailable": true,

 "include_global_state": true

}


POST _snapshot/backup/snapshot_1/_restore?wait_for_completion=true

{

 "indices": "plan_1,plan_2"

}

{

 "indices": "plan_1,plan_2",

 "rename_pattern": "my_index_(.+)",

 "rename_replacement": "restored_my_index_$1"



#获取单个快照的信息

GET _snapshot/my_backup/snapshot_1

#获取仓库下所有快照的信息

GET _snapshot/my_backup/_all


删除某个快照

DELETE _snapshot/my_backup/snapshot_2


监控快照进度

GET _snapshot/my_backup/snapshot_1

GET _snapshot/my_backup/snapshot_1/_status


取消快照

DELETE _snapshot/my_backup/snapshot_2