那年那日那朵花

".......(o´ω`o)......"

es快照备份与恢复

2018-11-12 16:42 elk

记录一下es快照恢复的步骤

官方文档的地址https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html

创建快照仓库

默认只支持文件系统,所以对于集群来说需要每个节点上都挂载一个共享存储。

同时需要在每个es节点上配置path.repo快照仓库,该项无法动态配置,且默认是不存在的,故如果事先没有配置过的话,需要在每个es节点的elasticsearch.yml配置文件中增加并重启生效。

curl -H "Content-Type: application/json" -XPUT  http://127.0.0.1:9200/_snapshot/my_backup -d '{
  "type": "fs",
  "settings": {
    "location": "/my_snapshot/my_fs_backup",
    "compress": true
  }
}'

#查看快照仓库
curl -XGET http://127.0.0.1:9200/_snapshot?pretty

创建快照

curl -XPUT http://127.0.0.1:9200/_snapshot/my_backup/snapshot_1

#指定快照名称查看
curl -XGET http://127.0.0.1:9200/_snapshot/my_backup/snapshot_1?pretty

#查看当前的
curl -XGET http://127.0.0.1:9200/_snapshot/my_backup/_current?pretty

state 状态说明

  • IN_PROGRESS 运行中
  • SUCCESS 成功
  • FAILED 失败
  • PARTIAL 有分片数据没有成功保存
  • INCOMPATIBLE 快照版本与es版本不一致

恢复

#恢复索引test01和test02
curl -XPOST http://127.0.0.1:9200/_snapshot/my_backup/snapshot_1/_restore -d '{
"indices": "test01,test02",
"ignore_unavailable": true,
"include_global_state":true
}'
#另外恢复的时候如果已有同名的索引并处于打开状态的话是无法恢复的,如果需要覆盖的话。需要先把该索引关闭如:curl -XPOST http://127.0.0.1:9200/test01/_close

#查看恢复进度
curl -XGET http://127.0.0.1:9200/_snapshot/my_backup/snapshot_1/_status?pretty

Cloudhu 个人随笔|built by django|

沪ICP备16019452号-1