elasticsearch 快照与恢复

来源:互联网 发布:mysql主从复制配置 编辑:程序博客网 时间:2024/06/06 23:20

项目需求需要对es存储的数据进行备份,特意写下来以免忘记。

工具可以用:
chrome的Sense和dejavu (可以通过在chrome的商店里搜索elasticsearch )

vi elasticsearch.yml
path.repo: [“/data/backups/elasticsearch”]
URL:
http://192.168.10.1:9200/

1.创建备份仓库(backup为仓库名称,可以修改)
PUT _snapshot/backup
{
“type”: “fs”,
“settings”: {
“location”: “/data/backups/elasticsearch”,
“compress”: true
}
}

2.检查仓库是否创建成功(backup为步骤1中的名称)
GET _snapshot/backup

3.查看所有的索引
_cat/indices?v

4.创建快照(snapshot_login_log_2017_07 为快照名称)
PUT _snapshot/backup/snapshot_login_log_2017_07?wait_for_completion=true
{
“indices”:”login_log_2017_07”,
“ignore_unavailable”: “true”, // 在创建快照的过程中会忽略不存在的索引,默认情况下, 如果没有设置 ignore_unavailable 在索引不存在的情况下快照请求将会失败
“include_global_state”: false // 能够防止 集群的全局状态被作为快照的一部分存储起来
}

5.删除快照(snapshot_login_log_2017_07 为步骤4生成的快照名称)
DELETE _snapshot/backup/snapshot_login_log_2017_07

6.查看所有的快照
GET _snapshot/backup/_all

7.查看快照信息
GET _snapshot/backup/snapshot_login_log_2017_08/_status

8.查看正在运行的快照的详细信息
GET _snapshot/my_backup/snapshot_login_log_2017_07

9.查看索引数据(login_log_2017_08 为索引名称)
GET /login_log_2017_08/_search

10.关闭索引
POST /login_log_2017_08/_close

11.恢复快照
POST _snapshot/backup/snapshot_login_log_2017_08/_restore?wait_for_completion=true
{
“ignore_unavailable”: “true”,
“include_global_state”: false
}

参考文档:
https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
https://fuxiaopang.gitbooks.io/learnelasticsearch/
https://wizardforcel.gitbooks.io/mastering-elasticsearch
http://www.jianshu.com/p/4c57a246164c