将Elasticsearch从6.1.2升级到6.2.0时请注意

首先

你好。我是一个热爱StreetFighter的工程师@mizai。
(顺便一提,在SF 5中,我用Bison打到了超铂联赛。)

目前,我所在的团队正在进行某款爬虫的重建工作。

スライド1.PNG

爬虫服务器和Elasticsearch都支持CentOS7

我希望能够向大家传达在那里发生的问题和解决方法。

这次的问题

当我试图升级Elasticsearch(以下简称ES),却无法成功,让我非常着急!!

经历

在 ES6.1.2 上构建了系统。
有一天,我意识到已经变成了 6.2.0 版本。
虽然我想着「ES版本更新得好快啊!」,但还是按照官方文档的步骤进行了升级。
(升级到 6.2.0 是在新版本发布当天,这个秘密不要告诉别人哦~)

公式步骤
https://www.elastic.co/guide/en/elasticsearch/reference/current/rolling-upgrades.html
公式的过程
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删除,然后重新安装一次,岂不是可以解决问题吗?

卸载 Elasticsearch

哦!好,不见了!

安装 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

完了しました!

最后

我不知道是否是正确的方法,但如果能对某人有一点帮助就好。

广告
将在 10 秒后关闭
bannerAds