M1 Mac - 启动 ElasticSearch 的问题。无法运行 jdk/bin/java

jes*_*seb 4 java macos docker apple-m1

已经做了一些搜索无济于事。尝试使用 Elasticsearch docker 容器设置项目。可在我较旧的英特尔 MacBook 上运行,但到目前为止在新系统上没有运气。

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
Run Code Online (Sandbox Code Playgroud)

将不胜感激任何帮助或指向正确的方向!

Fáb*_*nda 8

根据此评论: https: //github.com/opendistro/for-elasticsearch-docs/issues/385#issuecomment-867198711 Apple M1 有特定的版本,后缀为 -arm64,例如:

docker.elastic.co/elasticsearch/elasticsearch:7.10.2-arm64
Run Code Online (Sandbox Code Playgroud)


sbe*_*eam 6

使用来自 dockerhub 的图像也遇到了这个问题,但似乎使用来自 Elastic官方docker构建现在在我的 M1 Mac 上运行良好。

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.10.2
Run Code Online (Sandbox Code Playgroud)