ある晴れた昼下がり、Kibanaにアクセスしたところ”Kibana server is not ready yet”というメッセージが表示された。
$ systemctl status kibanaで、Kibanaの状態を確認してみると、問題なく起動してた。$ systemctl status elasticsearchで、Elasticsearchの状態を確認してみると、起動中にTimeoutして起動に失敗してた。
journalctlコマンド($ journalctl -xeu elasticsearch)や、systemctlコマンド($ systemctl status elastilsearch -l)、/var/log/elasticsearch/elasticsearch.log、/var/log/messagesを見てみるが、Timeoutの理由らしきメッセージを見つけられない。
WebでElatisearchの起動エラーの原因を検索してみた。
- (原因はよくわからないが、)タイムアウトの設定時間が短すぎるので、タイムアウト設定を長くする
$ systemctl show elasticsearch | grep ^Timeout
TimeoutStartUSec=1min 15s
TimeoutStopUSec=infinity
JobTimeoutUSec=infinity
JobRunningTimeoutUSec=infinity
JobTimeoutAction=none
TimeoutStartUSec=1min 15s
TimeoutStopUSec=infinity
JobTimeoutUSec=infinity
JobRunningTimeoutUSec=infinity
JobTimeoutAction=none
TimeoutStartUSecを3分にする
$ sudo mkdir /etc/systemd/system/elasticsearch.service.d
$ echo -e "[Service] \nTimeoutStartSec = 180" | sudo tee /etc/systemd/system/elasticsearch.service.d/startup-timeout.conf
<出力結果>
[Service]
TimeoutStartSec = 180
<出力結果>
[Service]
TimeoutStartSec = 180
$ sudo systemctl daemon-reload
$ sudo systemctl show elasticsearch | grep ^Timeout
<出力結果>
TimeoutStartUSec=3min
TimeoutStopUSec=infinity
<出力結果>
TimeoutStartUSec=3min
TimeoutStopUSec=infinity
- Elasticsearchに割り当てているメモリサイズが大きすぎるので、/etc/elasticesearch/jvm.options のXmsとXmxの値を小さくする(Xms(最小ヒープサイズ)とXmx(最大ヒープサイズ)は等しい値にする必要がある)
$ sudo vi /etc/elasticsearch/jvm.options
-Xms2G
-Xmx2G
- /etc/elasticsearch/elasticsearch.ymlの記述ミスを修正する
- などなど
ただ、特に対処をしないままにElasticsearchを起動したら、問題なく起動してきてしまった。謎だ。 orz
0 件のコメント:
コメントを投稿