I’m trying to run Elasticsearch on a different port than the default 9200 one ( I’m using Gitlab that is already using it halas ), but can’t make it work, here is my configuration :
Hello, to change elasticsearch port, you must understand that Docker has internal ports and public ports.
In your case you don’t want to change the internal port.
In your case you need to:
docker-compose.yml (docker ports mapping works like this: external:internal)
ports:
9201:9200
Let Parameters.php untouched. (as php runs in the same docker as elasticsearch and will so use internal ports)
You can also just remove the port mapping in docker-compose.yml, it’s only of use if you want to curl localhost:9200.
I don’t know if my explanation is clear enough, but the idea is tha docker works like a subnetwork, with its own ports
I didn’t forget your request, when I have time I’ll try your configuration and tell you
Can you just tell me what are the logs of elasticsearch ? docker-compose logs -f --tail 100 elasticsearch
Attaching to twake_elasticsearch_1
e[36melasticsearch_1 |e[0m OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
e[36melasticsearch_1 |e[0m [2020-07-23T16:16:32,465][INFO ][o.e.n.Node ] [] initializing ...
e[36melasticsearch_1 |e[0m [2020-07-23T16:16:32,474][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
e[36melasticsearch_1 |e[0m org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Failed to create node environment
e[36melasticsearch_1 |e[0m at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m Caused by: java.lang.IllegalStateException: Failed to create node environment
e[36melasticsearch_1 |e[0m at org.elasticsearch.node.Node.<init>(Node.java:277) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.node.Node.<init>(Node.java:256) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:213) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:213) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:326) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m ... 6 more
e[36melasticsearch_1 |e[0m Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes
e[36melasticsearch_1 |e[0m at sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) ~[?:?]
e[36melasticsearch_1 |e[0m at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[?:?]
e[36melasticsearch_1 |e[0m at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) ~[?:?]
e[36melasticsearch_1 |e[0m at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:385) ~[?:?]
e[36melasticsearch_1 |e[0m at java.nio.file.Files.createDirectory(Files.java:682) ~[?:?]
e[36melasticsearch_1 |e[0m at java.nio.file.Files.createAndCheckIsDirectory(Files.java:789) ~[?:?]
e[36melasticsearch_1 |e[0m at java.nio.file.Files.createDirectories(Files.java:775) ~[?:?]
e[36melasticsearch_1 |e[0m at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:207) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.node.Node.<init>(Node.java:274) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.node.Node.<init>(Node.java:256) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:213) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:213) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:326) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.4.3.jar:6.4.3]
e[36melasticsearch_1 |e[0m ... 6 more
e[36mtwake_elasticsearch_1 exited with code 1
e[0m
Looks like a write access is not given, as AccessDeniedException or createDirectory would suggest, in :
Ok I have a fast fix if you want (I didn’t found a solution yet)
I suppose docker-data/es_twake is empty.
Just do a sudo chmod 777 docker-data/es_twake/ and restart elasticsearch.
If ES works, stop and up everything again, it should work.