我的ES索引已损坏,我想通过快照恢复它们。
我的快照托管在Amazon S3中。最后一个是用:
GET /_snapshot/my_backup/snapshot_traces_291215/_status?pretty'
但是当我尝试用以下方法恢复它时:
POST /_snapshot/my_backup/snapshot_traces_291215/_restore
{
"error": {
"root_cause": [
{
"type": "repository_missing_exception",
"reason": "[my_backup] missing"
}
],
"type": "repository_missing_exception",
"reason": "[my_backup] missing"
},
"status": 404
}
也许这是正常的,因为我的索引被破坏ES可能会丢失快照信息。
以下是我的索引的状态:
red open traces_v2 3 1
red open traces_v1 3 1
yellow open users 3 1 2 0 6.2kb 6.2kb
curl localhost:9200/_cat/plugins?v
给了我:
name component version type url
Infant Terrible head master s /_plugin/head/
Infant Terrible license 2.2.0 j
和GET /_snapshot/my_backup/
给了我:
{
"my_backup": {
"type": "s3",
"settings": {
"bucket": "backup-es-ranger",
"secret_key": "...",
"region": "eu-central-1",
"access_key": "..."
}
}
}
那么在这种情况下如何恢复我的数据呢?谢谢你的帮助。
答案 0 :(得分:0)
所以您似乎没有安装S3 repository plugin插件。
有必要支持S3 repositories。
只需进入ES主文件夹并按如下方式安装:
bin/plugin install cloud-aws
然后重新启动ES,它应该可以工作。