この記事では、埋め込まれたElasticsearch 6.5 Connectorの既知の問題を文書化しています。 Elasticsearch 6.5はDXP 7.1 Fix Pack 5を適用した後、DXP 7.1ではデフォルトの組み込みESコネクタになりました。
FP5を適用した後、Liferay Connected Services(LCS)を使用してサブスクリプションやパッチの管理を行うWebSphere 9上にデプロイされたプラットフォームで起動エラーが発生することが判明した。 根本的な原因は、LCS のブートデリゲーションプロパティが ES 6.5 と競合しているためです。 これはコンソールからのスタックトレースです。
3.886 ERROR [Framework Event Dispatcher: Equinox Container: e9188704-5f5c-4809-b0cc-13684d07e965][com_liferay_portal_search:97] FrameworkEvent ERROR java.lang.IllegalStateException: Unable to initialize Elasticsearch cluster: {_clusterHealthStatus=RED, _healthStatusMessage='{"cluster_name":"LiferayElasticsearchCluster","status":"red","timed_out":true,"number_of_nodes":1,"number_of_data_nodes":1,"active_primary_shards":0,"active_shards":0,"relocating_shards":0,"initializing_shards":0,"unassigned_shards":0,"delayed_unassigned_shards":0,"number_of_pending_tasks":0,"number_of_in_flight_fetch":0,"task_max_waiting_in_queue_millis":0,"active_shards_percent_as_number":"NaN"}'} at com.liferay.portal.search.elasticsearch6.internal.ElasticsearchSearchEngine.waitForYellowStatus(ElasticsearchSearchEngine.java:300) at com.liferay.portal.search.elasticsearch6.internal.ElasticsearchSearchEngine.initialize(ElasticsearchSearchEngine.java:107) at com.liferay.portal.kernel.search.SearchEngineProxyWrapper.initialize(SearchEngineProxyWrapper.java:95) at com.liferay.portal.kernel.search.AbstractSearchEngineConfigurator.setSearchEngine(AbstractSearchEngineConfigurator.java:450) at com.liferay.portal.kernel.search.AbstractSearchEngineConfigurator.initSearchEngine(AbstractSearchEngineConfigurator.java:380) at com.liferay.portal.kernel.search.AbstractSearchEngineConfigurator.initialize(AbstractSearchEngineConfigurator.java:303) at com.liferay.portal.search.elasticsearch6.internal.ElasticsearchEngineConfigurator.initialize(ElasticsearchEngineConfigurator.java:107) at com.liferay.portal.kernel.search.AbstractSearchEngineConfigurator$1.dependenciesFulfilled(AbstractSearchEngineConfigurator.java:79) at com.liferay.registry.dependency.ServiceDependencyManager.verifyDependencies(ServiceDependencyManager.java:146) at com.liferay.registry.dependency.ServiceDependencyManager$ServiceDependencyServiceTrackerCustomizer.addingService(ServiceDependencyManager.java:242) at com.liferay.registry.internal.ServiceTrackerCustomizerAdapter.addingService(ServiceTrackerCustomizerAdapter.java:35) at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:943) at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1) at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183) at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:321)
(truncated for space)
決議
利用可能な回避策
プロパティ com.ibm.crypto
を module.framework.properties.org.osgi.framework.bootdelegation=
内の既存のプロパティに追加します。
注:Liferay DXPに変更を加える前に、アプリケーションサーバーをシャットダウンしてください。 これは特にIBM WebSphereに当てはまります。 ポータルに変更を加える際には、常に portal-ext.properties
ファイルを使用してください。
-
portal-ext.properties
ファイルに以下のように入力します。module.framework.properties.org.osgi.framework.bootdelegation=\ __redirected,\ com.liferay.aspectj,\ com.liferay.aspectj.*,\ com.liferay.portal.servlet.delegate,\ com.liferay.portal.servlet.delegate*,\ com.sun.ccpp,\ com.sun.ccpp.*,\ com.sun.crypto.*,\ com.sun.image.*,\ com.sun.jmx.*,\ com.sun.jna,\ com.sun.jndi.*,\ com.sun.mail.*,\ com.sun.management.*,\ com.sun.media.*,\ com.sun.msv.*,\ com.sun.org.*,\ com.sun.syndication,\ com.sun.tools.*,\ com.sun.xml.*,\ com.yourkit.*,\ javax.validation,\ javax.validation.*,\ jdk.*,\ com.ibm.crypto.*,\ sun.*,\ weblogic.jndi,\ weblogic.jndi.*
- ファイルを保存します。
- サーバーを起動します。
このプロパティを適用すると、Elasticsearch関連のエラーが解消され、プラットフォームがエラーなく起動するようになります。