Elasticsearchをアップデートしたら起動できなくなったのでKuromojiプラグインを再インストールした
Ubuntuのパッケージを更新したところ、ElasticsearchとKibanaのバージョンが5.6.7にアップデートされていました。 OS再起動ののちElasticsearchとKibanaの起動状態を見てみたところElasticsearchだけ起動していません。
$ sudo service --status-all | grep -e "elastic" -e "kibana" [ - ] elasticsearch [ + ] kibana
以前、Elasticsearchを5.0.0から5.4.0にアップデートした時、Kuromojiプラグインがバージョン非対応になり起動できなくなった経緯*1があります。恐らく同事象だと思いElasticsearchのログ(/var/log/elasticsearch/elasticesarch.log
)を見たところ、やはりKuromojiプラグインのバージョンが原因のようです。
[2018-02-06T23:49:32,824][ERROR][o.e.b.Bootstrap ] Exception java.lang.IllegalArgumentException: plugin [analysis-kuromoji] is incompatible with version [5.6.7]; was designed for version [5.4.0] at org.elasticsearch.plugins.PluginInfo.readFromProperties(PluginInfo.java:146) ~[elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.bootstrap.Spawner.spawnNativePluginControllers(Spawner.java:80) ~[elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:168) ~[elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) [elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) [elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) [elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70) [elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) [elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) [elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) [elasticsearch-5.6.7.jar:5.6.7] [2018-02-06T23:49:32,845][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main] org.elasticsearch.bootstrap.StartupException: java.lang.IllegalArgumentException: plugin [analysis-kuromoji] is incompatible with version [5.6.7]; was designed for version [5.4.0] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-http://blog.hatena.ne.jp/mamori017/mamori017.hatenablog.com/edit#5.6.7.jar:5.6.7] at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70) ~[elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.6.7.jar:5.6.7] Caused by: java.lang.IllegalArgumentException: plugin [analysis-kuromoji] is incompatible with version [5.6.7]; was designed for version [5.4.0] at org.elasticsearch.plugins.PluginInfo.readFromProperties(PluginInfo.java:146) ~[elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.bootstrap.Spawner.spawnNativePluginControllers(Spawner.java:80) ~[elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:168) ~[elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.7.jar:5.6.7] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.7.jar:5.6.7] ... 6 more
ログにはインストールされているKuromojiプラグインはElasticsearch 5.4.0用で、 5.6.7は非対応と書かれているのでプラグインを手動で更新します。 プラグインを上書きインストールをしようとするとエラーになったので一旦削除ののち再インストールします。
# 削除 $ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin remove analysis-kuromoji # インストール $ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-kuromoji
Kuromojiプラグインを再インストール後、Elasticsearchを手動起動したところサービスが立ち上がるようになりました。
$ sudo /etc/init.d/elasticsearch start [ ok ] Starting elasticsearch (via systemctl): elasticsearch.service. $ sudo service --status-all | grep "elastic" [ + ] elasticsearch
データ分析基盤構築入門[Fluentd、Elasticsearch、Kibanaによるログ収集と可視化]
- 作者: 鈴木健太,吉田健太郎,大谷純,道井俊介
- 出版社/メーカー: 技術評論社
- 発売日: 2017/09/21
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
*1:2017/5/7、5.0.0->5.4.0アップデート時に同様の記事を書いていたので削除した。