SvDvorak/CampExplorer

`docker-compose up` fails with Caused by: java.io.IOException: Mount point not found

Closed this issue · 2 comments

Maybe the command needs some additional -v option? Maybe a full working docker-compose command in the README.md would help people unfamiliar with docker get it up and working on the first try.

$ docker-compose up
...
WARNING: Image for service routing was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating search_database ... done
Creating search_service  ... done
Creating search_routing  ... done
Attaching to search_database, search_service, search_routing
search_database | [2020-09-24T07:44:27,694][INFO ][o.e.n.Node               ] [] initializing ...
search_service | [nodemon] 1.11.0
search_service | [nodemon] to restart at any time, enter `rs`
search_routing | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
search_routing | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
search_database | [2020-09-24T07:44:27,735][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
search_database | org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: failed to obtain node locks, tried [[/usr/share/elasticsearch/data/docker-cluster]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?
search_database | 	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:89) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:82) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | Caused by: java.lang.IllegalStateException: failed to obtain node locks, tried [[/usr/share/elasticsearch/data/docker-cluster]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?
search_database | 	at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:260) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.node.Node.<init>(Node.java:252) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.node.Node.<init>(Node.java:232) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.bootstrap.Bootstrap$6.<init>(Bootstrap.java:241) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:241) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	... 6 more
search_database | Caused by: java.io.IOException: failed to obtain lock on /usr/share/elasticsearch/data/nodes/0
search_database | 	at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:239) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.node.Node.<init>(Node.java:252) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.node.Node.<init>(Node.java:232) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.bootstrap.Bootstrap$6.<init>(Bootstrap.java:241) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:241) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	... 6 more
search_database | Caused by: java.io.IOException: Mount point not found
search_database | 	at sun.nio.fs.LinuxFileStore.findMountEntry(LinuxFileStore.java:91) ~[?:?]
search_database | 	at sun.nio.fs.UnixFileStore.<init>(UnixFileStore.java:65) ~[?:?]
search_database | 	at sun.nio.fs.LinuxFileStore.<init>(LinuxFileStore.java:44) ~[?:?]
search_database | 	at sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:51) ~[?:?]
search_database | 	at sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:39) ~[?:?]
search_database | 	at sun.nio.fs.UnixFileSystemProvider.getFileStore(UnixFileSystemProvider.java:368) ~[?:?]
search_database | 	at java.nio.file.Files.getFileStore(Files.java:1461) ~[?:1.8.0_92-internal]
search_database | 	at org.elasticsearch.env.ESFileStore.getMatchingFileStore(ESFileStore.java:107) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.env.Environment.getFileStore(Environment.java:340) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.env.NodeEnvironment$NodePath.<init>(NodeEnvironment.java:108) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:227) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.node.Node.<init>(Node.java:252) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.node.Node.<init>(Node.java:232) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.bootstrap.Bootstrap$6.<init>(Bootstrap.java:241) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:241) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-5.2.2.jar:5.2.2]
search_database | 	... 6 more
search_service | [nodemon] watching: *.*
search_service | [nodemon] starting `node --debug=0.0.0.0:5858 start-server.js`
search_service | Debugger listening on 0.0.0.0:5858
search_routing | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
search_database exited with code 1
search_routing | 10-listen-on-ipv6-by-default.sh: Getting the checksum of /etc/nginx/conf.d/default.conf
search_routing | 10-listen-on-ipv6-by-default.sh: error: /etc/nginx/conf.d/default.conf differs from the packaged version
search_routing | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
search_service | 2020-09-24T07:44:28.197Z: Waiting for database connection
search_routing | /docker-entrypoint.sh: Configuration complete; ready for start up
search_service | 2020-09-24T07:45:29.767Z: Unable to start server because Error: Unable to connect to database

Hey,
Sorry for a very late response, I missed this issue. You shouldn't need to run anything other than docker-compose up for just a basic setup, I only use a different compose config for production. I'm not sure why you're getting the error, do you have any orphaned ES-instances?
Since you added this issue I've made a lot of work on upgrading versions, it has a memory leak but might be worth testing and seeing if you can start it atleast. I kinda screwed up and forgot to use a branch so to use the version used in production then use commit 0fe29a2.

I'm able to start it now, getting a different failure mode which I'll enter separately.