mutao.net

いわゆる雑記。

ラズパイ4にElasticsearch+Kibanaインストール

暇だったのでラズパイ4にElaticsearchとKibanaをインストールしたときのメモ。

ちなみにすでにラズパイ4にはCentOS8が入っていてJava11もインストール済み。

Java8以降が必須になるみたいなので、ない場合は事前にインストールしておく。

すごくレベルの低い記事だと思う。

インストール

インストール方法を書こうかと思ったけど公式が正義なので割愛。

インストール手順を書いてもいずれ古くなるのでこういう場合は書かない方がいいと思う。

英語力0でも基礎中の基礎のLinuxの知識があれば問題なし。

Kibanaのインストール

www.elastic.co

Elasticsearchのインストール

www.elastic.co

firewall設定

# firewall-cmd --add-port=5601/tcp --permanent
#  firewall-cmd --reload

http://192.168.11.17:5601/ でブラウザにアクセスしてKibanaが表示されれば問題なし。

f:id:mutaonet:20210529172856p:plain

ハマったところ

Kibana server is not ready yet

公式の手順を踏まずに適当にインストールしてみたらKibanaの動作確認中にエラー発生。

ブラウザで表示したところ「Kibana server is not ready yet」とでる。

activeになっているのに何故?

# systemctl status kibana.service
● kibana.service - Kibana
   Loaded: loaded (/etc/systemd/system/kibana.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2021-05-29 07:44:43 UTC; 4s ago
     Docs: https://www.elastic.co
 Main PID: 370443 (node)
    Tasks: 14 (limit: 23888)
   CGroup: /system.slice/kibana.service
           ├─370443 /usr/share/kibana/bin/../node/bin/node /usr/share/kibana/bin/../src/cli/dist --logging.dest=/var/log/kibana/kibana.log --pid.file=/run/kibana/kibana.pid
           └─370455 /usr/share/kibana/node/bin/node --preserve-symlinks-main --preserve-symlinks /usr/share/kibana/src/cli/dist --logging.dest=/var/log/kibana/kibana.log --pid.file=/run/kibana/kibana.pid

ログを確認してみると以下の記載があった。

{"type":"log","@timestamp":"2021-05-29T07:38:29+00:00","tags":["error","savedobjects-service"],"pid":370285,"message":"This version of Kibana (v7.13.0) is incompatible with the following Elasticsearch nodes in your cluster: v7.10.2 @ 127.0.0.1:9200 (127.0.0.1)"}

ElasticsearchとKibanaのバージョンが異なっているとのこと。 これは公式の手順通りreinstallすれば直った。

Kibana起動失敗

# systemctl start elasticsearch.service
Job for elasticsearch.service failed because the control process exited with error code.
See "systemctl status elasticsearch.service" and "journalctl -xe" for details.

journalctl -xe で確認詳細を確認しろとでているが、ログを見た方が早かった

cat /var/log/elasticsearch/elasticsearch.log
Caused by: java.nio.file.AccessDeniedException: /var/lib/elasticsearch/nodes/0/node.lock
    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) ~[?:?]
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106) ~[?:?]
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[?:?]
    at sun.nio.fs.UnixFileSystemProvider.newFileChannel(UnixFileSystemProvider.java:182) ~[?:?]
    at java.nio.channels.FileChannel.open(FileChannel.java:292) ~[?:?]
    at java.nio.channels.FileChannel.open(FileChannel.java:345) ~[?:?]
    at org.apache.lucene.store.NativeFSLockFactory.obtainFSLock(NativeFSLockFactory.java:125) ~[lucene-core-8.8.2.jar:8.8.2 a92a05e195b775b30ca410bc0a26e8e79e7b3bfb - mdrob - 2021-04-06 16:33:27]
    at org.apache.lucene.store.FSLockFactory.obtainLock(FSLockFactory.java:41) ~[lucene-core-8.8.2.jar:8.8.2 a92a05e195b775b30ca410bc0a26e8e79e7b3bfb - mdrob - 2021-04-06 16:33:27]
    at org.apache.lucene.store.BaseDirectory.obtainLock(BaseDirectory.java:45) ~[lucene-core-8.8.2.jar:8.8.2 a92a05e195b775b30ca410bc0a26e8e79e7b3bfb - mdrob - 2021-04-06 16:33:27]
    at org.elasticsearch.env.NodeEnvironment$NodeLock.<init>(NodeEnvironment.java:207) ~[elasticsearch-7.13.0.jar:7.13.0]
    at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:262) ~[elasticsearch-7.13.0.jar:7.13.0]
    at org.elasticsearch.node.Node.<init>(Node.java:368) ~[elasticsearch-7.13.0.jar:7.13.0]
    at org.elasticsearch.node.Node.<init>(Node.java:278) ~[elasticsearch-7.13.0.jar:7.13.0]
    at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:217) ~[elasticsearch-7.13.0.jar:7.13.0]
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:217) ~[elasticsearch-7.13.0.jar:7.13.0]
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:397) ~[elasticsearch-7.13.0.jar:7.13.0]
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-7.13.0.jar:7.13.0]

どうやらlockファイルにアクセスできていない模様だったので下記を実行。

chown -R elasticsearch:elasticsearch /var/lib/elasticsearch

これで素直に起動できました。

# systemctl status kibana.service
● kibana.service - Kibana
   Loaded: loaded (/etc/systemd/system/kibana.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2021-05-29 08:06:23 UTC; 6s ago
     Docs: https://www.elastic.co
 Main PID: 371737 (node)
    Tasks: 14 (limit: 23888)
   CGroup: /system.slice/kibana.service
           ├─371737 /usr/share/kibana/bin/../node/bin/node /usr/share/kibana/bin/../src/cli/dist --logging.dest=/var/log/kibana/kibana.log --pid.file=/run/kibana/kibana.pid
           └─371749 /usr/share/kibana/node/bin/node --preserve-symlinks-main --preserve-symlinks /usr/share/kibana/src/cli/dist --logging.dest=/var/log/kibana/kibana.log --pid.file=/run/kibana/kibana.pid