es快照备份至minio

es快照备份至minio

一、概述

  • Minio

Minio 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。

  • Elasticsearch

Elasticsearch是一个基于Lucene的分布式全文搜索引擎。ES支持快照功能,用于实现数据的备份与恢复。我们可以生成单个索引或整个集群的快照,并将其存储在共享文件系统上的存储库中,并且有一些插件支持 S3、HDFS、Azure、Google Cloud Storage 等上的远程存储库。

因为minio兼容S3,而es支持将快照存储在远程S3存储服务中,所以minio可以用于es的快照备份。

二、环境

  • elasticsearch:6.8.0
  • minio:RELEASE.2021-08-25T00-41-18Z

三、安装部署es、minio

四、配置es以支持minio备份

  1. 安装repository-s3插件(集群环境下需要每个节点都安装)
./bin/elasticsearch-plugin install repository-s3 
  1. 修改elasticsearch.yml配置文件(集群环境下待测试)
s3.client.default.endpoint: 127.0.0.1:9000(minio服务地址)
s3.client.default.protocol: http(非https时需要指定)
  1. 将 minio访问密钥设置添加到密钥库(集群环境下待测试)
# 设置用户名 
bin/elasticsearch-keystore add s3.client.default.access_key
# 设置密码
bin/elasticsearch-keystore add s3.client.default.secret_key
  1. 配置完成后重启es服务(或集群)

备注:配置es快照在s3上的备份方式和上面的步骤类似。

五、测试

  1. 创建快照仓库
PUT _snapshot/my_backup
{
    "type":"s3",
    "settings":{ 
        "bucket":"mybucket"
    } 

} 
  1. 备份所有索引到仓库
PUT _snapshot/my_backup/snapshot_test?wait_for_completion=true 
  1. 查看仓库中的快照
GET _snapshot/my_backup/_all?pretty 
  1. 删除快照
DELETE _snapshot/my_backup/snapshot_test

六、其它

  1. 快照删除注意事项

用 API 删除快照很重要,而不能用其他机制(比如手动删除,或者用 S3 上的自动清除工具)。因为快照是增量的,有可能很多快照依赖于过去的段。delete API 知道哪些数据还在被更多近期快照使用,然后会只删除不再被使用的段。

但是,如果你做了一次人工文件删除,你将会面临备份严重损坏的风险,因为你删除的是可能还在使用中的数据。

参考:

https://www.136.la/shida/show-150069.html

你可能感兴趣的:(elasticsearch,minio,elasticsearch,big,data)