在 Raspberry Pi 3B+ 上运行 ElasticSearch + Kibana

目标

这是在RaspberryPi3B+上运行ElasticSearch + kibana时的备忘录。我遇到了比预期更多的困难,所以在这里记录下了遇到的错误。

我已经参考了下面的内容。

用 Raspberry Pi 安装并运行 Elasticsearch 和 Kibana。

安装ElasticSearch

sudo apt-get update
sudo apt-get install openjdk-8-jre-headless
mkdir ~/elastic
cd ~/elastic
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.2.tar.gz
tar xf elasticsearch-6.5.2.tar.gz

修改jvm.options(将内存使用量设为256MB)。

-#-Xms1g
-#-Xmx1g
+-Xms256m
+-Xmx256m

修改elasticsearch.yml文件。(修改启动选项。)

+xpack.ml.enabled: false
+network.host: 0.0.0.0
+http.port: 9200
+transport.host: localhost
+transport.tcp.port: 9300

启动

elasticsearch-6.5.2/bin/elasticsearch
スクリーンショット 2020-05-09 14.45.27.png

Kibana的安装

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.5.2-linux-x86_64.tar.gz
tar xf kibana-6.5.2-linux-x86_64.tar.gz

直接使用此方式无法使用Node.js,因此需要下载可用的Node.js。

$ ./kibana-6.5.2-linux-x86_64/node/bin/node 
-bash: ./kibana-6.5.2-linux-x86_64/node/bin/node: バイナリファイルを実行できません: 実行形式エラー
$ chmod -x kibana-6.5.2-linux-x86_64/node/bin/node
$ wget https://nodejs.org/dist/v8.14.0/node-v8.14.0-linux-armv7l.tar.xz
$ tar xf node-v8.14.0-linux-armv7l.tar.xz
$ ./node-v8.14.0-linux-armv7l/bin/node 
> .exit

设置nodejs路径并启动kibana。

cd ~/elastic
echo "PATH=$HOME/elastic/node-v8.14.0-linux-armv7l/bin:$PATH" >> ~/.bashrc
echo "PATH=$HOME/elastic/kibana-6.5.2-linux-x86_64/bin/:$PATH" >> ~/.bashrc
echo "PATH=$HOME/elastic/elasticsearch-6.5.2/bin/:$PATH" >> ~/.bashrc
source ~/.bashrc                                         # nodejsのパスを通す
./kibana-6.5.2-linux-x86_64/bin/kibana                   # kibanaを起動

只要等待几分钟,并从浏览器访问localhost:5601,就可以了。

スクリーンショット 2020-05-10 0.18.37.png

错误处理

elasticsearch-6.5.2/bin/elasticsearch 强制被终止。

$ elasticsearch-6.5.2/bin/elasticsearch
強制終了

内存不足,在启动过程中发生错误。
关闭其他应用程序进程以解决问题。

设置异常[无法从 [elasticsearch.yml] 加载设置].

$ elasticsearch-6.5.2/bin/elasticsearch
Exception in thread "main" 2020-05-09 14:34:21,491 main ERROR No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically provided configurations. Set system property 'log4j2.debug' to show Log4j 2 internal initialization logging. See https://logging.apache.org/log4j/2.x/manual/configuration.html for instructions on how to configure Log4j 2
SettingsException[Failed to load settings from [elasticsearch.yml]]; nested: ParsingException[Failed to parse object: expecting token of type [START_OBJECT] but found [VALUE_STRING]];
    at org.elasticsearch.common.settings.Settings$Builder.loadFromStream(Settings.java:1216)
    at org.elasticsearch.common.settings.Settings$Builder.loadFromPath(Settings.java:1189)
    at org.elasticsearch.node.InternalSettingsPreparer.prepareEnvironment(InternalSettingsPreparer.java:100)
    at org.elasticsearch.cli.EnvironmentAwareCommand.createEnv(EnvironmentAwareCommand.java:95)
    at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124)
    at org.elasticsearch.cli.Command.main(Command.java:90)
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93)
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86)
Caused by: ParsingException[Failed to parse object: expecting token of type [START_OBJECT] but found [VALUE_STRING]]
    at org.elasticsearch.common.xcontent.XContentParserUtils.ensureExpectedToken(XContentParserUtils.java:78)
    at org.elasticsearch.common.settings.Settings.fromXContent(Settings.java:696)
    at org.elasticsearch.common.settings.Settings.access$500(Settings.java:84)
    at org.elasticsearch.common.settings.Settings$Builder.loadFromStream(Settings.java:1212)
    ... 8 more

elasticsearch.yml文件中的内容有误(包含了奇怪的字符串)。进行修正以解决问题。

琪娜巴服务器尚未准备好。

スクリーンショット 2020-05-09 15.20.23.png

数分钟等待后启动…我以为它会启动,但却一直没有启动。
是内存不足了吗?我想到了将elastic search的内存限制为256MB并重新启动,结果成功启动了。

请提供更多的上下文内容,以便给出准确的翻译。

树莓派上使用Elasticsearch和Kibana进行数据分析基础建设入门[使用Fluentd,Elasticsearch和Kibana实现…]
在Raspbian Buster上运行Elastic Stack 7.5.1(有7.2及更高版本的信息)
尝试使用流行的Kibana+fluentd+elasticsearch通过Logging快速测试
在Mac上使用Homebrew安装Elasticsearch和Kibana

广告
将在 10 秒后关闭
bannerAds