ローカルのElaticSearchを7.16.2から8.0.0にバージョンアップしてみた話
2228 ワード
ElasticSearchv8 が出たのでバージョンアップを行いました。
Docker で構築された環境だったので、Dockerfile を勢いよく変更してみました。
すると以下のエラーでバージョンアップできませんでした。
java.lang.IllegalStateException: cannot upgrade a node from version [7.16.2] directly to version [8.0.0], upgrade to version [7.17.0] first.
at org.elasticsearch.env.NodeMetadata.verifyUpgradeToCurrentVersion(NodeMetadata.java:122)
at org.elasticsearch.env.NodeEnvironment.checkForIndexCompatibility(NodeEnvironment.java:500)
at org.elasticsearch.env.NodeEnvironment.upgradeLegacyNodeFolders(NodeEnvironment.java:397)
at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:290)
at org.elasticsearch.node.Node.<init>(Node.java:388)
at org.elasticsearch.node.Node.<init>(Node.java:277)
at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:234)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:234)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:358)
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:166)
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:157)
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:77)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112)
at org.elasticsearch.cli.Command.main(Command.java:77)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:122)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80)
For complete error details, refer to the log at /usr/share/elasticsearch/logs/docker-cluster.log
読むと、一旦 v7.17.0 にあげてと怒られてます。
そのため一旦、7.16.2 -> 7.17 に Dockerfile を書き換えます。
その後、7.17 -> 8 にあげます。
めでたしめでたし。
原因
ローカル環境ではクラスタ構成の環境で開発しておりました。
そのためこの手順が必要だったようです。
単一ノードの場合は 7.16.2 から 8 にあげでもエラー表示されませんでした。
参考
Author And Source
この問題について(ローカルのElaticSearchを7.16.2から8.0.0にバージョンアップしてみた話), 我々は、より多くの情報をここで見つけました https://zenn.dev/komisan19/articles/1aeb09260e92e5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol