Easysearch 内置了 S3 插件,这意味着用户可以直接使用该功能而无需额外安装任何插件。通过这一内置支持,用户能够方便快捷地执行 Amazon S3 上的数据快照操作。这种设计不仅简化了配置流程,也提高了工作效率,使得数据备份或迁移等任务变得更加简单易行。对于需要频繁与 S3 存储服务交互的应用场景来说,这是一个非常实用且高效的功能特性。
Minio
MinIO 是一款高性能的开源对象存储系统,专为存储大量的非结构化数据而设计。它提供了与 Amazon S3 兼容的 API,本次测试我们使用 MinIO 作为存储仓库。
建立 Bucket
进入 MinIO 管理界面,创建测试用的 bucket。


创建 Access key
测试的 Access Key 设置的比较简单。

Easysearch
为了能够使用 S3 存储,Easysearch 要进行必要的配置。
easyearch.yml
修改 easysearch.yml 配置 S3 信息。
plain
s3.client.default.endpoint: 172.17.0.4:9000
s3.client.default.protocol: http
⚠️ 注意:修改了 easysearch.yml 需要重启生效。
keystore
为了安全,我们把 S3 的 Access key 信息加入 keystore 中。
plain
bin/easysearch-keystore add s3.client.default.access_key #输入easysearch
bin/easysearch-keystore add s3.client.default.secret_key #输入easysearch
bin/easysearch-keystore list
注册存储库
在 INFINI Console 的开发工具中,使用命令注册 s3 存储库。
plain
PUT /_snapshot/easysearch_s3_repo?verify=true&pretty
{
"type": "s3",
"settings": {
"bucket": "easysearch-bucket",
"compress": true
}
}
更多参数请查看文档。
创建快照
在 INFINI Console 的开发工具中,使用命令创建快照。


备份执行完成。
S3 查看快照
我们在 INFINI Console 中通过命令创建了快照,可以在 MinIO 的 bucket 中进行进一步确认是否有相关文件。


快照还原测试
删除以备份索引 .infini_metrics-0001,删除前先查看下索引情况,文档数 557953。

删除 .infini_metrics-0001 索引。

确认 .infini_metrics-0001 索引已被删除。

进行快照还原。

验证恢复索引。

索引 .infini_metrics-0001 已经还原了,文档数也一致。
小结
Easysearch 使用 S3 存储备份的步骤如下:
- S3 服务建立 Bucket、Access Key。
- Easysearch 编辑 easysearch.yml 添加 S3 服务 endpoint 信息。
- easysearch-keystore 添加 S3 的 Access key 信息,加密保存。
- Easysearch 注册 S3 存储仓库。
- 执行快照备份。