我正在使用Elasticsearch 1.4和ubuntu 12.04.3 LTS。尝试为本地elasticsearch创建快照。我参考这个网站
该网站步骤在Windows Elasticsearch上运行正常。如果我在Ubuntu Elasticsearch上注册存储库。它在消息下方触发。
这个查询我在跑什么
curl -XPUT http://xx.xx.xx.xx:9200/_snapshot/es_snap -d '{ "type": "fs", "settings": { "location": "/mount/backups/my_backup" } }'
我得到了这个回应。
{ "error":"RepositoryException[[es_snap] failed to create repository]; nested: CreationException[Guice creation errors:\n\n1) Error injecting constructor, org.elasticsearch.common.blobstore.BlobStoreException: Failed to create directory at [ D:/data/es_snapshot_bkup/es_snapshot_repo]\n at org.elasticsearch.repositories.fs.FsRepository.<init>(Unknown Source)\n while locating org.elasticsearch.repositories.fs.FsRepository\n while locating org.elasticsearch.repositories.Repository\n\n1 error ]; nested: BlobStoreException[Failed to create directory at [/mount/backups/my_backup]]; ", "status":500 }
首先创建一个备份文件夹(通常该文件夹创建用户主文件夹)
mkdir ~/backup
授予该文件夹的权限
chmod 777 ~/backup
创建一个存储库(存储库代表您的路径)
curl -XPUT http://xx.xx.xx.xx:9200/_snapshot/es_snap -d
’{“type”:”fs”,”settings”:{“location”:”home/user/backup” ,”compress”:true}}’
快照
curl -XPUT "http://xx.xx.xx.xx:9200/_snapshot/en_snap/snapshot_1" -d
’{“indices”:[“index1”,”index2”,”index3”],”ignore_unavailable”:true, “include_global_state”: false,}’
恢复
curl -XPOST "http://xx.xx.xx.xx:9200/_snapshot/es_snap/snapshot_1/_restore" -d
’{“indices”:[“index1”,”index2”],”ignore_unavailable”:true, “include_global_state”: false}’