首先,這是官方介紹:html
https://www.elastic.co/guide/en/elasticsearch/reference/5.5/modules-snapshots.html#_snapshot web
第一步:先建立一個快照倉庫,使用API建立vim
PUT /_snapshot/esbackup { "type":"fs" , "settings": { "location": "/data/backup" } } 返回結果 { "acknowledged": true }
固然,沒那麼簡單,/data/backup,這個目錄不是隨便指定得,須要在elasticsearch.yml 配置文件裏面指定,否則會報500錯誤, 若是是集羣,則每個數據節點都得配置bash
path.repo: /data/backup
若是是集羣,則每個數據節點都得配置 「path.repo: /data/backup」,而且,這個目錄對於每個數據節點都要有共享得讀寫權限,這裏,咱們使用NFS共享elasticsearch
[root@ND78 data]# vim /etc/exports /data/backup 192.168.0.76(rw)
肯定每個節點掛載起來這個目錄後,才能建立快照倉庫ide
建立成功後咱們能夠查看一下這個倉庫信息ui
GET _snapshot/esbackup { "esbackup": { "type": "fs", "settings": { "location": "/data/backup" } } }
第二步:備份spa
PUT _snapshot/esbackup/b20170824
b20170824是備份名字
一個倉庫能夠存儲多個備份,好比再備份一個rest
PUT _snapshot/esbackup/b20170825
查看備份htm
GET _snapshot/esbackup/b20170824 { "snapshots": [ { "snapshot": "b20170824", "uuid": "sajgUSp0RHClo7JvSxrMjQ", "version_id": 5020299, "version": "5.2.2", "indices": [ "logstash-2017.05.08", "megacorp", "logstash-2017.07.26", "test_index", ".kibana", "logstash-2017.05.04", ".monitoring-es-2-2017.08.17", ".monitoring-es-2-2017.08.22", ".monitoring-data-2", "oeeee-2017.04.29", "logstash-2017.05.06", "my_index", "logstash-2017.05.09", ".monitoring-es-2-2017.08.19", ".monitoring-es-2-2017.08.21", "logstash-2017.04.23", "kcis_user", "logstash-2017.04.21", "logstash-2017.05.05", ".monitoring-es-2-2017.08.23", "logstash-2017.05.14", ".monitoring-es-2-2017.08.18", "my_index3", "logstash-2017.05.13", "logstash-2017.05.11", "daily-tag-2017.07.11", "tag_profile", "logstash-2017.05.02", ".monitoring-es-2-2017.08.24", "logstash-2017.05.03", "logstash-2017.05.12", "logstash-2017.04.22", ".monitoring-es-2-2017.08.20", "user_profile_v1", "logstash-2017.05.10", "logstash-2017.05.07", "website", "my_index2" ], "state": "IN_PROGRESS", "start_time": "2017-08-24T07:10:45.148Z", "start_time_in_millis": 1503558645148, "failures": [], "shards": { "total": 0, "failed": 0, "successful": 0 } } ] }
第三步:還原
還原指定索引
POST _snapshot/esbackup/b20170825/_restore { "indices":"logstash-2017.05.13" }
還原全部索引
POST _snapshot/esbackup/b20170825/_restore