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 信息。
s3.client.default.endpoint: 172.17.0.4:9000
s3.client.default.protocol: http
⚠️注意:修改了 easysearch.yml 需要重启生效。
keystore #
为了安全,我们把 S3 的 Access key 信息加入 keystore 中。
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 存储库。
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 存储仓库。
- 执行快照备份。
有任何问题,欢迎加我微信沟通。