ラズパイ4にElasticsearch+Kibanaインストール
暇だったのでラズパイ4にElaticsearchとKibanaをインストールしたときのメモ。
ちなみにすでにラズパイ4にはCentOS8が入っていてJava11もインストール済み。
Java8以降が必須になるみたいなので、ない場合は事前にインストールしておく。
すごくレベルの低い記事だと思う。
インストール
インストール方法を書こうかと思ったけど公式が正義なので割愛。
インストール手順を書いてもいずれ古くなるのでこういう場合は書かない方がいいと思う。
英語力0でも基礎中の基礎のLinuxの知識があれば問題なし。
Kibanaのインストール
Elasticsearchのインストール
firewall設定
# firewall-cmd --add-port=5601/tcp --permanent # firewall-cmd --reload
http://192.168.11.17:5601/ でブラウザにアクセスしてKibanaが表示されれば問題なし。
ハマったところ
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