83 - ES集群数据备份

集群的备份与恢复

  • 不能简单的通过拷贝各个节点的相关数据来备份数据
  • 可靠的方式只有通过使用snapshot和restore方法
  • 备份数据 --> 备份集群的相关配置 --> 备份集群的安全配置

注册Repository

#在elasticsearch.yml加入相关配置
#path.repo: ["/Users/your/my_backup"]
PUT _snapshot/my_fs_backup
{
  "type": "fs",
  "settings": {
    "location": "/Users/your/my_backup",
    "compres": true
  }
}

还支持amazon s3,google cloud storage等存储方式

快照的创建

#创建一个整个集群的snapshot
PUT _snapshot/my_fs_backup/snapshot_1?wait_for_completion=true

#指定索引创建快照
PUT _snapshot/my_fs_backup/snapshot_2?wait_for_completion=true
{
  "indices": "test",
  "ignore_unavailable": true,
  "include_global_state": false,
  "metadata": {
    "token_by": "cwg",
    "token_because": "backup before upgrading"
  }
}

快照的使用

#查看快照
GET _snapshot/my_fs_backup/_all

#删除快照
DELETE _snapshot/my_fs_backup/snapshot_2

#恢复快照
POST _snapshot/my_fs_backup/snapshot_1/_restore
{}

#指定索引进行restore
POST _snapshot/my_fs_backup/snapshot_2/_restore
{
  "indices": "test",
  "index_settings": {
    "index.number_of_replicas": 5
  },
  "ignore_index_settings": [
    "index.refresh_interval"
  ]
}

#删除repo
DELETE _snapshot/my_fs_backup

总结

  • 数据备份的api为snapshot & restore
  • 简单拷贝数据目录,可能无法成功备份集群
  • 支持整个集群备份,以及单个索引的备份和恢复
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容