LoginSignup
0
0

More than 5 years have passed since last update.

elasticsearch6.1.2 -> 6.2.0にするときはご注意を

Last updated at Posted at 2018-02-13

はじめに

こんにちは。StreetFighter大好きエンジニアの @mizai です。
(ちなみに、SF5では、バイソンでスーパープラチナリーグまで行きました。)

今、自分のチームでは、とあるクローラのリビルドを行っています。

こんな感じのシステム構成
スライド1.PNG

クローラサーバもElasticsearchも
CentOS7

そこで起こった問題/解決方法を伝えていければなぁと思います。

今回のトラブル

Elasticsearch(以下、ES)をバージョンアップしようとしたら、できなくて焦った!!

経緯

ES6.1.2でシステムを作っていた。
ある日、6.2.0になっていることに気づいた。
「ESのバージョンアップ、早いなぁ!」と思いながらもバージョン上げたくなって、公式ドキュメントの手順通り作業実施。
(6.2.0にアップデートしたのは、ES新バージョンがでた当日ということは内緒ですw)

公式手順
https://www.elastic.co/guide/en/elasticsearch/reference/current/rolling-upgrades.html

「ふむふむ、まぁ yum updateして、入れているプラグイン消して、再インストールしたらいいのね」

ってことで yum update は無事終了。
そして、プラグインを消そうとしたとき!!!

$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin remove analysis-icu

Exception in thread "main" java.lang.IllegalArgumentException: plugin [analysis-icu] is incompatible with version [6.2.0]; was designed for version [6.1.2]
        at org.elasticsearch.plugins.PluginInfo.readFromProperties(PluginInfo.java:224)
        at org.elasticsearch.plugins.PluginsService.getPluginBundles(PluginsService.java:329)
        at org.elasticsearch.plugins.RemovePluginCommand.execute(RemovePluginCommand.java:89)
        at org.elasticsearch.plugins.RemovePluginCommand.execute(RemovePluginCommand.java:67)
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124)
        at org.elasticsearch.cli.MultiCommand.execute(MultiCommand.java:75)
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124)
        at org.elasticsearch.cli.Command.main(Command.java:90)
        at org.elasticsearch.plugins.PluginCli.main(PluginCli.java:48)

「えええええ!!なにこれ!!!」
と思って焦りました。
エラーのスタックトレースから、ソースコードを見てみたもののよくわからず、、、

「ES消して、再インストールしたら行けんじゃね?」と思って、

yum remove elasticsearch

「お!よし、消えた!」

yum install elasticsearch

「おおお!ちゃんと入った!」

プラグインインストール!!
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu

おおお!ちゃんと入ったー!!

結論

ということで、ES消して、再インストールしたらちゃんと最新バージョンになりました。

補足

yum remove elasticsearchをしたときに、必要な設定ファイルはバックアップ取ってくれてました。

こんな感じ

インストール容量: 31 M
上記の処理を行います。よろしいでしょうか? [y/N]y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Stopping elasticsearch service... OK
  削除中                  : elasticsearch-6.2.0-1.noarch                                                                                                      1/1
警告: /etc/elasticsearch/jvm.options は /etc/elasticsearch/jvm.options.rpmsave として保存されました。
警告: /etc/elasticsearch/elasticsearch.yml は /etc/elasticsearch/elasticsearch.yml.rpmsave として保存されました。
Deleting log directory... OK
Deleting plugins directory... OK
  検証中                  : elasticsearch-6.2.0-1.noarch                                                                                                      1/1

削除しました:
  elasticsearch.noarch 0:6.2.0-1

完了しました!

最後に

正しいやり方かどうかはわかりませんが、少しでも誰かの参考になれば。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0