在 RHEL6 系统上,我按照此处列出的步骤在升级之前创建了一个存储库并捕获快照。我验证了快照的存在:
curl 'localhost:9200/_snapshot/_all?pretty=true'
这给了我以下结果:
{ "upgrade_backup" : {"type" : "fs","settings" :{
"compress" : "true",
"location" : "/tmp/elasticsearch-backup">
} } }
通过 yum 升级 Elasticsearch 后,我去恢复我的快照,但没有显示:
curl 'localhost:9200/_snapshot/_all?pretty=true'
{ }
我检查了文件系统并查看了存储库文件:
ls -lrt /tmp/elasticsearch-backup
总计 24-rw-r--r--. 1 elasticsearch elasticsearch 121 Apr 7 14:42 meta-snapshot-number-one.dat drwxr-xr-x. 3 elasticsearch elasticsearch 21 Apr 7 14:42 indices-rw-r--r--. 1 elasticsearch elasticsearch 191 Apr 7 14:42 snap-snapshot-number-one.dat-rw-r--r--. 1 elasticsearch elasticsearch 37 Apr 7 14:42 index-rw-r--r--. 1 elasticsearch elasticsearch 188 Apr 7 14:51
index-0-rw-r-
-r--. 1 elasticsearch elasticsearch 8 Apr 7 14:51 index.latest
-rw-r-r--.1 弹性搜索 弹性搜索 29 四月 7 14:51 不兼容的快照
我确保 elasticsearch.yml 仍然有"data.repo"标签,所以我不确定在哪里查找或该怎么做来确定发生了什么,但不知何故我的快照消失了!
您需要在elasticsearch.yml
中添加以下行:
path.repo: ["/tmp/elasticsearch-backup"]
然后重新启动弹性服务并创建新的快照存储库:
curl -XPUT "http://localhost:92000/_snapshot/backup" -H 'Content-Type: application/json' -d '{
"type": "fs",
"settings": {
"location": "/tmp/elasticsearch-backup",
"compress": true
}
}'
现在,您应该能够列出存储库中的所有快照并最终还原它们:
curl -s -XGET "localhost:9200/_snapshot/backup/_all" | jq .