阿里OSS、华为OBS和MinIO都兼容S3,所以可以通过ES的S3插件将快照进行备份
1、先安装S3的插件
插件地址:https://artifacts.elastic.co/downloads/elasticsearch-plugins/repository-s3/repository-s3-7.8.0.zip
在线安装太慢,所以手工将zip文件下载到服务器上进行安装。
/usr/local/software/elasticsearch/bin/elasticsearch-plugin install file:///usr/local/repository-s3-7.8.0.zip
2、配置OSS的AK和SK
/usr/local/software/elasticsearch/bin/elasticsearch-keystore add s3.client.default.access_key
/usr/local/software/elasticsearch/bin/elasticsearch-keystore add s3.client.default.secret_key
注意:配置完OSS的AK和SK后,elasticsearch/config/elasticsearch.keystore 这个文件的权限会发生变化,在su es用户启动时会提示没权限,所以要把elasticsearch.keystore权限配置好,我这里为了省事儿直接 chmod 777 elasticsearch.keystore
配置完AK和SK后重启一下服务。
3、创建一个S3类型的仓库
PUT http://x.x.x.x:9200/_snapshot/s3_obs_repository
{ "type": "s3", "settings": { "bucket": "xxxxx", #桶名
"base_path": "xxxxx", #桶中的哪个目录 "endpoint": "oss-cn-xxxx.aliyuncs.com" #桶的endpoint } }
成功会返回:
{ "acknowledged": true }
4、开始做快照
PUT http://x.x.x.x:9200/_snapshot/s3_obs_repository/snapshot_20200813?wait_for_completion=true
成功后查看OBS中会出现快照文件