Hello,
I am trying to migrate data from ES version: 2.3.4, Build: e455fd0/2016-06-30T11:24:31Z, JVM: 1.8.0_91 to newer ES 5x.
I want to create snasphot a restore it in new ES, but I have problem with creating repository.
I use docker container and I am trying to do the backup from inside the container:
curl -XPUT 'http://IP:9200/_snapshot/my_backup' -d '{
"type": "fs",
"settings": {
"location": "/usr/share/elasticsearch/data/backup/my_backup",
"compress": true
}
}'
First thing is that when I use localhost instead of IP, I get: "curl: (7) Failed to connect to localhost port 9200: Connection refused", but it works with IP address.
In container, the path exists with full permission (for sure now):
root@9ee4cd3b0527:/usr/share/elasticsearch/data/backup# ls -la
drwxrwxrwx 2 elasticsearch elasticsearch 4096 Mar 1 14:23 my_backup
I have set path.repo in /etc/elasticsearch/elasticsearch.yml
path.repo: ["/usr/share/elasticsearch/data/backup"]
which is also only parameter set there.
I have restart whole docker container, and nothing. When I do http://IP:9200/_nodes/?pretty, there are only logs and home paths:
"path" : {
"logs" : "/usr/share/elasticsearch/logs",
"home" : "/usr/share/elasticsearch"
},
When I run the CURL command, I get:
{"error":{"root_cause":[{"type":"repository_exception","reason":"[my_backup] failed to create repository"}],"type":"repository_exception","reason":"[my_backup] failed to create repository","caused_by":{"type":"creation_exception","reason":"Guice creation errors:\n\n1) Error injecting constructor, RepositoryException[[my_backup] location [/usr/share/elasticsearch/data/backup/my_backup] doesn't match any of the locations specified by path.repo because this setting is empty]\n at org.elasticsearch.repositories.fs.FsRepository.(Unknown Source)\n while locating org.elasticsearch.repositories.fs.FsRepository\n while locating org.elasticsearch.repositories.Repository\n\n1 error","caused_by":{"type":"repository_exception","reason":"[my_backup] location [/usr/share/elasticsearch/data/backup/my_backup] doesn't match any of the locations specified by path.repo because this setting is empty"}}},"status":500}
I run all commands from inside of container. It is standard container elasticsearch:2
Thank you for you help. I am new to ES and I am lost, even thought I found some similar issues and tried some things (adding REPO_PATH to init script as described here, changing syntax of path.repo ....)
Thanks.