I would like to add 3 dedicated master only nodes to my cluster. I'd like to transition my existing master/data nodes to be data node only. However, the first step I took was to try adding a master only node to my cluster (master : true , data : false). I'm seeing the node start and join the cluster as expected, but when the node is initializing I keep seeing the warning shown below in the logs. It references the path.repo setting which we haven't set on any of the other nodes. I don't see this error on the other nodes when I restart them so I'm just wondering what this is? Can this be ignored if we don't care about snapshots? We are running ES 2.4.1. [2018-02-14 01:22:19,678][WARN ][repositories.fs ] [es4] The specified location [/snapshots] should start with a repository path specified by the path.repo setting, but the path.repo setting was not set on this node [2018-02-14 01:22:19,684][WARN ][repositories ] [es4] failed to create repository [fs][test_backup] org.elasticsearch.common.inject.CreationException: Guice creation errors:
1) Error injecting constructor, RepositoryException[[test_backup] location [/snapshots] doesn't match any of the locations specified by path.repo because this setting is empty] at org.elasticsearch.repositories.fs.FsRepository.<init>(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:154) at org.elasticsearch.common.inject.ModulesBuilder.createChildInjector(ModulesBuilder.java:55) at org.elasticsearch.repositories.RepositoriesService.createRepositoryHolder(RepositoriesService.java:404) at org.elasticsearch.repositories.RepositoriesService.clusterChanged(RepositoriesService.java:299) at org.elasticsearch.cluster.service.InternalClusterService.runTasksForExecutor(InternalClusterService.java:610) at org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:772) at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:231) at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:194) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
Ok just an update, I restarted one of my other existing master/data nodes and I do see this warning. Ugh sorry, :) guess I didn't notice this before. That said, I'm guessing I can ignore this since if I'm not concerned about snapshots?
It shows the path.repo setting is empty by default. Since I'm not explicitly setting this value, I think that is why I'm seeing this warning then correct? I'm just wondering if that is ok or if this path.repo should have a default value. Sounds like you are suggesting to set this value? Overall, I don't think I noticed this warning before so it just has me a little more curious now. Thanks again!