broadinstitute / seqr

web-based analysis tool for rare disease genomics
GNU Affero General Public License v3.0
176 stars 88 forks source link

On prem ES docker unable to bind to port #1532

Closed mdmallardi closed 3 years ago

mdmallardi commented 3 years ago

Describe the bug Hi, when I try to start up the dockers for an on prem install with docker-compose up -d seqr

OS: Ubuntu 20.04

No other noted or appreciable services running on this server.

Link to page(s) where bug is occurring N/A

Scope of the bug Installation

Screenshots The following is the snippet from the log:

{"type": "server", "timestamp": "2020-12-03T14:45:11,323Z", "level": "ERROR", "component": "o.e.b.ElasticsearchUncaughtExceptionHandler", "cluster.name": "elasticsearch", "node.name": "728d81f1af96", "message": "uncaught exception in thread [main]", "stacktrace": ["org.elasticsearch.bootstrap.StartupException: ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share/elasticsearch/data/nodes];", "at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:174) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:161) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:127) ~[elasticsearch-cli-7.8.1.jar:7.8.1]", "at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-7.8.1.jar:7.8.1]", "at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:126) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-7.8.1.jar:7.8.1]", "Caused by: org.elasticsearch.ElasticsearchException: failed to bind service", "at org.elasticsearch.node.Node.(Node.java:652) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.node.Node.(Node.java:266) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.bootstrap.Bootstrap$5.(Bootstrap.java:227) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:227) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:393) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170) ~[elasticsearch-7.8.1.jar:7.8.1]", "... 6 more", "Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes", "at sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) ~[?:?]", "at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[?:?]", "at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) ~[?:?]", "at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:389) ~[?:?]", "at java.nio.file.Files.createDirectory(Files.java:694) ~[?:?]", "at java.nio.file.Files.createAndCheckIsDirectory(Files.java:801) ~[?:?]", "at java.nio.file.Files.createDirectories(Files.java:787) ~[?:?]", "at org.elasticsearch.env.NodeEnvironment.lambda$new$0(NodeEnvironment.java:274) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.env.NodeEnvironment$NodeLock.(NodeEnvironment.java:211) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.env.NodeEnvironment.(NodeEnvironment.java:271) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.node.Node.(Node.java:335) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.node.Node.(Node.java:266) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.bootstrap.Bootstrap$5.(Bootstrap.java:227) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:227) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:393) ~[elasticsearch-7.8.1.jar:7.8.1]", "at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170) ~[elasticsearch-7.8.1.jar:7.8.1]", "... 6 more"] } uncaught exception in thread [main] ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share/elasticsearch/data/nodes]; Likely root cause: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:389) at java.base/java.nio.file.Files.createDirectory(Files.java:694) at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:801) at java.base/java.nio.file.Files.createDirectories(Files.java:787) at org.elasticsearch.env.NodeEnvironment.lambda$new$0(NodeEnvironment.java:274) at org.elasticsearch.env.NodeEnvironment$NodeLock.(NodeEnvironment.java:211) at org.elasticsearch.env.NodeEnvironment.(NodeEnvironment.java:271) at org.elasticsearch.node.Node.(Node.java:335) at org.elasticsearch.node.Node.(Node.java:266) at org.elasticsearch.bootstrap.Bootstrap$5.(Bootstrap.java:227) at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:227) at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:393) at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170) at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:161) at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:127) at org.elasticsearch.cli.Command.main(Command.java:90) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:126) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) For complete error details, refer to the log at /usr/share/elasticsearch/logs/elasticsearch.log

JakeHagen commented 3 years ago

I think I had the same problem. The real issue is here AccessDeniedException[/usr/share/elasticsearch/data/nodes]. I solved this by changing the permissions on the data directory that is created by docker-compose.

hanars commented 3 years ago

Like jJke said, make sure you local ./data/elasticsearch folder that is mounted to the ES volume has the correct permissions

mdmallardi commented 3 years ago

Yes, thank you, this issue is resolved.