elasticsearch 快照和恢復

首先,這是官方介紹:

https://www.elastic.co/guide/en/elasticsearch/reference/5.5/modules-snapshots.html#_snapshot


第一步:先創建一個快照倉庫,使用API創建

PUT /_snapshot/esbackup
{
  "type":"fs"
  , "settings": {
    "location": "/data/backup"
  }
}

返回結果
{
  "acknowledged": true
}

當然,沒那麼簡單,/data/backup,這個目錄不是隨便指定得,需要在elasticsearch.yml 配置文件裏面指定,不然會報500錯誤, 如果是集羣,則每一個數據節點都得配置

path.repo: /data/backup


如果是集羣則每一個數據節點都得配置 “path.repo: /data/backup”,並且,這個目錄對於每一個數據節點都要有共享得讀寫權限,這裏,我們使用NFS共享

[root@ND78 data]# vim /etc/exports
/data/backup  192.168.0.76(rw)

確定每一個節點掛載起來這個目錄後,才能創建快照倉庫



創建成功後我們可以查看一下這個倉庫信息

GET _snapshot/esbackup

{
  "esbackup": {
    "type": "fs",
    "settings": {
      "location": "/data/backup"
    }
  }
}


第二步:備份

PUT _snapshot/esbackup/b20170824
b20170824是備份名字


一個倉庫可以存儲多個備份,比如再備份一個

PUT _snapshot/esbackup/b20170825


查看備份

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章