I have mounted Azure File services as a UNC path on all the nodes in the ES cluster and trying to use this location as Elasticsearch repository path(location where ES stores its snapshots).
But ES is unable to create any folders on this share and it fails with the below error when I give a create repository command : (This only happens when ES runs as a service )
Command:
PUT _snapshot/fs_backup
{
"type": "fs",
"settings": {
"location": "backup1",
"compress": true
}
}
Error:
[2015-09-28 09:36:08,138][WARN ][repositories ] [SASUPP-NODE-M01] failed to create repository [fs_backup]
org.elasticsearch.repositories.RepositoryException: [fs_backup] failed to create repository
at org.elasticsearch.repositories.RepositoriesService.createRepositoryHolder(RepositoriesService.java:414)
at org.elasticsearch.repositories.RepositoriesService.registerRepository(RepositoriesService.java:371)
at org.elasticsearch.repositories.RepositoriesService.access$100(RepositoriesService.java:55)
at org.elasticsearch.repositories.RepositoriesService$1.execute(RepositoriesService.java:110)
at org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:374)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:196)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:162)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: org.elasticsearch.common.inject.CreationException: Guice creation errors:
- Error injecting constructor, org.elasticsearch.common.blobstore.BlobStoreException: Failed to create directory at [\sasuppintst.file.core.windows.net\es-backup-smb\elasticsearch-backups\backup1]
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:344)
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:131)
at org.elasticsearch.common.inject.ModulesBuilder.createChildInjector(ModulesBuilder.java:69)
at org.elasticsearch.repositories.RepositoriesService.createRepositoryHolder(RepositoriesService.java:407)
... 9 more
Caused by: org.elasticsearch.common.blobstore.BlobStoreException: Failed to create directory at [\sasuppintst.file.core.windows.net\es-backup-smb\elasticsearch-backups\backup1]
at org.elasticsearch.common.blobstore.fs.FsBlobStore.(FsBlobStore.java:49)
at org.elasticsearch.repositories.fs.FsRepository.(FsRepository.java:88)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:54)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
at org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:52)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837)
at ...
Does anyone know what could be the reason behind this behavior ?
I used below wiki to mount the UNC path (Azure file service on a node):
Regards,
Saurabh