手动备份到本地OSS仓库,需要先开通对象存储服务OSS,并新建一个标准存储类型的Bucket,且Bucket的地域与Elasticsearch实例的地域保持一致。在手动备份与恢复数据前,请确保集群的状态正常,否则会影响备份任务。快照仅保存索引数据,不保存Elasticsearch实例自身的监控数据(例如以.monitoring和.security_audit为前缀的索引)、元数据、Translog、实例配置数据、Elasticsearch软件包、自带和自定义的插件、Elasticsearch日志等。
然后创建仓库,创建一个名称为test的仓库,具体命令如下,其中""endpoint""为OSS Bucket的内网访问域名。""access_key_id""为账号ak。""secret_access_key""为账号sk。""bucket""为OSS Bucket的名称。""compress""为是否打开快照文件的压缩功能,参数值为true和false。""chunk_size""的含义是当上传的数据非常大时,配置此参数可以限制快照过程中分块的大小。超过这个大小,数据将会被分块上传到OSS中。
PUT _snapshot/test/
{
"type": "oss",
"settings": {
"endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com",
"access_key_id": "xxxx",
"secret_access_key": "xxxxxx",
"bucket": "xxxxxx",
"compress": true,
"chunk_size": "500mb",
"base_path": "snapshot/"
}
}
然后进行快照的创建,为全部索引创建快照命令如下PUT _snapshot/test/snapshot_1以上命令会为所有打开的索引创建名称为snapshot_1的快照,并保存到test仓库中。该命令会立刻返回,并在后台执行备份任务。如果您希望任务执行完成后再返回可通过添加wait_for_completion实现。该参数会阻塞调用直到备份完成,如果是大型快照,需要很长时间才能返回。
PUT _snapshot/my_backup/snapshot_1?wait_for_completion=true
注意:一个仓库可以包含多个快照,每个快照中可以包含所有、部分或单个索引的备份数据。第一次创建快照时,系统会备份所有的数据,后续所有的快照仅备份已存快照和新快照之间的增量数据。随着快照的不断进行,备份也在增量的添加和删除。这意味着后续备份会相当快速,因为它们只传输很小的数据量。
系统默认会备份所有打开的索引,也可以为指定索引创建快照,具体命令如下,该命令只会备份名称为index_1和index_2的索引。
PUT _snapshot/my_backup/snapshot_2
{
""indices"": ""index_1,index_2""
}
以上内容摘自《企业级云原生白皮书项目实战》电子书,点击https://developer.aliyun.com/ebook/download/7774可下载完整版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。