Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

M1 Mac - Issue bringing up ElasticSearch. Cannot run jdk/bin/java

Have done a bit of searching to no avail. Attempting to setup a project with an Elasticsearch docker container. Works on my older intel MacBook but no luck so far with the new system.

elasticsearch    | Exception in thread "main" java.io.IOException: Cannot run program "/usr/share/elasticsearch/jdk/bin/java": error=0, Failed to exec spawn helper.
elasticsearch    |  at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
elasticsearch    |  at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
elasticsearch    |  at org.elasticsearch.tools.launchers.JvmErgonomics.flagsFinal(JvmErgonomics.java:111)
elasticsearch    |  at org.elasticsearch.tools.launchers.JvmErgonomics.finalJvmOptions(JvmErgonomics.java:88)
elasticsearch    |  at org.elasticsearch.tools.launchers.JvmErgonomics.choose(JvmErgonomics.java:59)
elasticsearch    |  at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:95)
elasticsearch    | Caused by: java.io.IOException: error=0, Failed to exec spawn helper.
elasticsearch    |  at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
elasticsearch    |  at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:319)
elasticsearch    |  at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:250)
elasticsearch    |  at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107)
elasticsearch    |  ... 5 more
elasticsearch exited with code 1

Would greatly appreciate any help or pointing in the right direction!

like image 498
jesseb Avatar asked Jan 29 '21 22:01

jesseb


People also ask

What is Elasticsearch container?

Elasticsearch is a powerful open source search and analytics engine that makes data easy to explore. docker pull elasticsearch.


Video Answer


2 Answers

Ran into this too with the image from dockerhub, but it seems using the official docker build from Elastic now works fine on my M1 Mac.

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.10.2
like image 51
sbeam Avatar answered Oct 16 '22 05:10

sbeam


According to this comment: https://github.com/opendistro/for-elasticsearch-docs/issues/385#issuecomment-867198711 there are specific builds for Apple M1 with the suffix -arm64, example:

docker.elastic.co/elasticsearch/elasticsearch:7.10.2-arm64
like image 40
Fábio Miranda Avatar answered Oct 16 '22 07:10

Fábio Miranda