我试图通过遵循安装教程在我的覆盆子Pi 3上安装最新的Elasticsearch,但是我找到了绝对的
关于我的系统的一些信息:
$ sudo apt-get update
$ sudo apt-get upgrade
$ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
$ java -version
openjdk version "9-Raspbian"
OpenJDK Runtime Environment (build 9-Raspbian+0-9b181-4bpo9rpt1)
OpenJDK Server VM (build 9-Raspbian+0-9b181-4bpo9rpt1, mixed mode)
// I tried also with openjdk-java-8
我试过的
$ sudo apt-get install elasticsearch
....
Preparing to unpack .../elasticsearch_1.7.5-1_all.deb .
....
$ ./usr/share/elasticsearch/bin/elasticsearch
xception in thread "main" java.lang.NoClassDefFoundError: org/elasticsearch/common/jackson/dataformat/yaml/snakeyaml/error/YAMLException
at org.elasticsearch.common.jackson.dataformat.yaml.YAMLFactory._createParser(YAMLFactory.java:426)
at org.elasticsearch.common.jackson.dataformat.yaml.YAMLFactory.createParser(YAMLFactory.java:327)
at org.elasticsearch.common.xcontent.yaml.YamlXContent.createParser(YamlXContent.java:90)
at org.elasticsearch.common.settings.loader.XContentSettingsLoader.load(XContentSettingsLoader.java:45)
at org.elasticsearch.common.settings.loader.YamlSettingsLoader.load(YamlSettingsLoader.java:46)
at org.elasticsearch.common.settings.ImmutableSettings$Builder.loadFromStream(ImmutableSettings.java:982)
at org.elasticsearch.common.settings.ImmutableSettings$Builder.loadFromUrl(ImmutableSettings.java:969)
at org.elasticsearch.node.internal.InternalSettingsPreparer.prepareSettings(InternalSettingsPreparer.java:110)
at org.elasticsearch.bootstrap.Bootstrap.initialSettings(Bootstrap.java:144)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:215)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32)
Caused by: java.lang.ClassNotFoundException: org.elasticsearch.common.jackson.dataformat.yaml.snakeyaml.error.YAMLException
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
... 11 more
/elasticsearch-7.1.1/bin/elasticsearch
./elasticsearch-7.1.1/bin/elasticsearch-env: line 69: /home/pi/elasticsearch-7.1.1/jdk/bin/java: cannot execute binary file: Exec format error
$ docker --version
Docker version 18.04.0-ce, build 3d479c0
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.elastic.co/elasticsearch/elasticsearch 7.1.1 b0e9f9f047e6 4 weeks ago 894MB
$ docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.1.1
standard_init_linux.go:190: exec user process caused "exec format error"
有人在Raspberry Pi 3上安装了Elasticsearch 7吗?是否有办法解决上述问题?
发布于 2019-07-19 16:56:58
不幸的是,与以前的所有版本不同,ElasticSearch 7的deb包是只为Intel架构打包。我相信依赖项是JVM和机器学习模块,它们可以关闭,但必须从deb包中的文件中手动重新打包或安装。(如果我没来得及做这件事,我肯定最终会有人做的)。
除非您特别需要ES7特性,否则最简单的方法是安装最后一个版本6,它将安装在Raspbian上。在这里:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.0.deb
您将希望将/etc/elasticsearch/jvm.options中使用的默认内存从1G更改为512 m,并在/etc/elasticsearch/弹性搜索. You (xpack.ml.enabled: false
)中关闭机器学习。
虽然它将与openjre一起运行,而openjre是Raspbian上默认的Java运行时,但它的运行速度是在等效的Intel上运行速度的30倍。我从来没有弄清楚原因,但如果您安装Oracle JRE,则可以:
apt-get install oracle-java8-jdk
注意,Raspbian/Debian (在apt-get安装中)是版本1,不是v7 -古的,请避免它。
在Raspberry上广泛使用ES6 (及其前身)时,我没有发现任何与英特尔不同的工作方式,尽管他们声明他们不支持英特尔以外的任何东西。
然而,RPi很难运行整个ELK (Elasticsearch,Logstatsh,Kibana)堆栈(我尝试过了):它真的没有足够的内存。4GB的RPi 4可能会做得更好,我还没有试过,或者在三个不同的Pis上分发。我确实让麋鹿5跑了,但经过几天的使用,它耗尽了记忆,我根本无法让麋鹿6跑。
发布于 2019-07-28 19:32:56
在Raspbian-9上,经过安装elasticsearch-7并将其清除为安装elasticsearch-6的测试后,除了上面所说的之外,我还必须在/etc/default/elasticsearch定义JAVA_HOME:
# Elasticsearch Java path
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-armhf
对于两个文件夹,用户不是正确的,可以修复它:
sudo chown -R elasticsearch:elasticsearch /etc/elasticsearch
sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearch
发布于 2019-12-28 11:03:11
在charik.org的例子中,我们使用Ubuntu 19.10运行一个RPI4集群,这是Raspberry上唯一完全支持Arm64v8架构的操作系统。
决定使用这个操作系统并不容易,因为它比轻量级的raspbian占用更多的内存,但是使用的方便可以充分解释我们的决定。
我们从ES包为Arm64v8体系结构构建ElasticSearchv7.5.1映像,没有在这里找到jdk:elasticsearch-no-jdk。
要查看我们的码头中心回购以获取构建映像:战车/弹力搜索:最新
https://stackoverflow.com/questions/56704124
复制相似问题