My cluster is on elasticsearch 2.3, with 3 data nodes and 2 none data nodes, on the data nodes, I setup the NFS mount and added the data.repo to the elasticsearch.yml file. when I issue
PUT /_snapshot/my_backup
{
"type": "fs",
"settings": {
"location": "/mount/esbackup/"
}
}
I got following in return. I am wonder whether I should mount the NFS folder on the nodes that have no data, or is there anything else I need to check.
Thanks for your help.
{
"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 [/mount/esbackup/] doesn't match any of the locations specified by path.repo]\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 [/mount/esbackup/] doesn't match any of the locations specified by path.repo"
}
}
},
"status": 500
}
I added the mounting point on every node, checked the file path is accessible, added path:repo to elasticsearch.yml, also restart elasticsearch on every node with no luck. looking at the /var/log/elasticsearch/elasticsearch.log, it says the same error.
[2017-04-20 05:52:27,041][WARN ][repositories ] [node-aphdp27] failed to create repository [fs][my_backup]
org.elasticsearch.common.inject.CreationException: Guice creation errors:
Error injecting constructor, RepositoryException[[my_backup] location [/mount/esbackup/] doesn't match any of the locations specified by path.repo]
at org.elasticsearch.repositories.fs.FsRepository.(Unknown Source)
while locating org.elasticsearch.repositories.fs.FsRepository
while locating org.elasticsearch.repositories.Repository
1 error
at org.elasticsearch.common.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:360)
at org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:178)
at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)
at org.elasticsearch.common.inject.InjectorImpl.createChildInjector(InjectorImpl.java:157)
...
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.