Liferay Enterprise Search

[LES] ElasticsearchにLearning-to-Rankプラグインをインストールすると "IllegalStateException: ltr requires Java 14 "で失敗する。

このコンテンツは、 Liferay Enterprise Search (LES) の有効なサブスクリプションをお持ちのお客様にご利用いただけます。

環境

症状

Elasticsearch の Learning-to-Rank (LTR) プラグインのインストールに以下のエラーで失敗します。

-> Installing https://github.com/o19s/elasticsearch-learning-to-rank/releases/download/v1.5.8-es7.17.1/ltr-plugin-v1.5.8-es7.17.1.zip
-> Downloading https://github.com/o19s/elasticsearch-learning-to-rank/releases/download/v1.5.8-es7.17.1/ltr-plugin-v1.5.8-es7.17.1.zip
[=================================================] 100%
-> Failed installing https://github.com/o19s/elasticsearch-learning-to-rank/releases/download/v1.5.8-es7.17.1/ltr-plugin-v1.5.8-es7.17.1.zip
-> Rolling back https://github.com/o19s/elasticsearch-learning-to-rank/releases/download/v1.5.8-es7.17.1/ltr-plugin-v1.5.8-es7.17.1.zip
-> Rolled back https://github.com/o19s/elasticsearch-learning-to-rank/releases/download/v1.5.8-es7.17.1/ltr-plugin-v1.5.8-es7.17.1.zip
Exception in thread "main" java.lang.IllegalStateException: ltr requires Java 14:, your system: 8
at org.elasticsearch.jdk.JarHell.checkJavaVersion(JarHell.java:253)
at org.elasticsearch.plugins.PluginsService.verifyCompatibility(PluginsService.java:397)
at org.elasticsearch.plugins.cli.InstallPluginAction.loadPluginInfo(InstallPluginAction.java:831)
at org.elasticsearch.plugins.cli.InstallPluginAction.installPlugin(InstallPluginAction.java:887)
at org.elasticsearch.plugins.cli.InstallPluginAction.execute(InstallPluginAction.java:245)
at org.elasticsearch.plugins.cli.InstallPluginCommand.execute(InstallPluginCommand.java:88)
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:77)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112)
at org.elasticsearch.cli.MultiCommand.execute(MultiCommand.java:95)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112)
at org.elasticsearch.cli.Command.main(Command.java:77)
at org.elasticsearch.plugins.cli.PluginCli.main(PluginCli.java:36)

解像度

LTRプラグインは、Elasticsearch 7.14からランタイムとしてJava 14+を必要とします。 これは、お客様のElasticsearchノードが、最小バージョンとしてJava 14を使用している必要があることを意味します。

解像度 DXP 7.3-7.4

Liferay DXP 7.3 と 7.4 を導入する場合、 Elasticsearch and JVM Support Matrixに基づいて、Elasticsearch クラスタノードの Java バージョンを Java 14+ に更新することをお勧めします。 Java REST Client(DXP 7.3および7.4のElasticsearch 7コネクタ内で使用)は、HTTPを介してElasticsearchと通信することを思い出してください。 この通信プロトコルは、以前のトランスポートクライアントベースのコネクタとは異なり、DXPとElasticsearch間のJavaシリアル化を必要としません。 つまり、Elasticsearchノードは、DXPデプロイメントが使用しているものとは異なるJVM上で実行することができます。 (コネクタの詳細はこちら .)

解像度 DXP 7.2

(この方法は Liferay DXP 7.3-7.4 のデプロイメントにも適用できますが、手順が増えるためお勧めしません)。

Transport Client (Liferay DXP 7.2の Elasticsearch コネクタ内で使用されます) は Java シリアライゼーションに依存しています。 このため、DXPとElasticsearchで使用されるメジャーバージョンとJVMのベンダーは同じである必要があります。 Liferay DXP 7.2 は現時点では Java 14+ をサポートしていないため、Java 8 と Java 11 に対応するためにプラグインを手動で再コンパイルする必要があります。

  1. [フォークと]クローン https://github.com/o19s/elasticsearch-learning-to-rank
  2. JDK8またはJDK11がインストールされ、環境設定(JAVA_HOME、PATH)されていることを確認します。
  3. リポジトリのローカルコピーに移動します。
  4. 利用可能なタグをもとに、必要なバージョンの新しいブランチを作成します。たとえば、 git checkout -b v1.5.8-es7.17.1-jdk8 v1.5.8-es7.17.1
  5. リポジトリのルート内にあるメインの build.gradle ファイルを このコミットと同様に編集します。
  6. Build and Deploy Locally の手順に従って、プラグインZIPファイルをビルドし、Elasticsearchノード/sにインストールします。

関連

https://issues.liferay.com/browse/LPS-148574


Elastic、Elasticsearch、X-Packは、米国で登録されたElasticsearch BVの商標です。 をはじめ、さまざまな国で

On this page