Elasticsearch數據備份說明

Elasticsearch數據備份說明

假設ES集群有三個節點:

192.168.1.10

192.168.1.11

192.168.1.12

1. 創建共享目錄

在三個節點上創建共享目錄/mnt/backup/,使三個節點的es用戶都可以讀寫該目錄。(推薦使用nfs創建共享目錄)

2. 修改ES配置

在elasticsearch.yml中加入一行:

path.repo: /mnt/backup/

修改後重啟es集群。

3. 創建備份倉庫

curl -XPUT 192.168.1.10:9200/_snap -d {

"type": "fs",

"settings": {

"location": "/mnt/backup/compress_snapshot",

"compress": true

}

}

成功後結果返回{"acknowledged":true}. 這時查看剛創建的倉庫:

curl -XGET 192.168.1.10:9200/_snap

正常結果返回:

{

"EsBackup_zip" : {

"type" : "fs",

"settings" : {

"compress" : "true",

"location" : "/mnt/backup/compress_snapshot"

}

}

}

4. 備份指定索引數據

假設要備份單個索引, 索引名為: user_behavior_201702

curl -XPUT 192.168.1.10:9200/_snap -d {"indices": "user_behavior_201702"}

提交備份快照請求後, 查看備份狀態:

curl -XGET 192.168.1.12:9200/_snap

假設要備份多個索引, 比如idx_1, idx_2, idx_3, 則可以:

curl -XPUT 192.168.1.10:9200/_snap -d {"indices": "idx_1,idx_2,idx_3"}

假設要備份全部索引數據, 則可以:

curl -XPUT 192.168.1.10:9200/_snap

5. 恢復備份索引

刪除已備份的索引:

curl -XDELETE "192.168.1.10:9200/user_"

恢復單個索引:

curl -XPOST 192.168.1.10:9200/_snap -d {

"indices": "user_behavior_201702",

"rename_replacement": "restored_ub_201702"

}

恢復整個快照索引:

curl -XPOST 192.168.1.10:9200/_snap

提交請求成功後返回{"accepted":true}。

查看恢復狀態:

curl -XGET "192.168.1.10:9200/_snap"


推薦閱讀:

災備行業最全常用術語 僅此一份
對WannaCry勒索病毒的反思:我們為什麼不養成備份的習慣?
使用mysqlbackup 備份
【評論有獎】數據高可用備份教程開放,無效「全額退款」

TAG:數據備份 | 科技 | 備份 |