elasticsearch 快照和恢復

首先,這是官方介紹: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
相關文章
相關標籤/搜索