Не удается зарегистрировать хранилище моментальных снимков в Elasticsearch
Я использую 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:nn1) 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.FsRepositoryn
while locating org.elasticsearch.repositories.Repositorynn1 error
];
nested: BlobStoreException[Failed to create directory at [/mount/backups/my_backup]]; ",
"status":500
}
3 ответа:
Сначала создайте резервную папку (обычно эта папка создает домашнюю папку пользователя)
mkdir ~/backup
Дайте разрешение на эту папку
chmod 777 ~/backup
Создайте репозиторий (Repository is represent you path)
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}'
Получил ту же ошибку, и я должен был убедиться, что один и тот же путь доступен для записи на всех узлах (как один и тот же пользователь). Я смонтировал каталог непосредственно на одном из узлов и использовал nfs для монтирования на других. Для устранения неполадок perms отредактируйте /etc / passwd и измените оболочку входа для elasticsearch с /sbin/nolgin на /bin/bash, а затем запустите "su-elasticsearch". Затем попробуйте записать файл в каталог. Вы должны сделать это на всех узлах.
Ваш запрос выглядит хорошо. Но есть ли у вас соответствующие разрешения на создание репо по адресу "/mount/backups/my_backup". Попробуйте выполнить команду curl в качестве пользователя sudo. Это стоит того, чтобы попробовать !
Причина, по которой я думаю, что это проблема с разрешениями, заключается в следующем в вашем журнале ошибок. вложенный: BlobStoreException[не удалось создать каталог в [/mount / backups / my_backup]];", "status": 500}