リモートリーダーデータセンターでのCCRの構成
以下の手順を実行する前に、必要な前提条件の手順を完了していることを確認してください。
このデータセンターは、同じ場所に配置されたElasticsearchクラスターへの読み取り/書き込み接続があるLiferay DXPクラスターノードを保持します。
ここに示す例は、単一のLiferay DXPノードと単一のElasticsearchノードで構成されています。 構成例は、セキュリティ構成の設定を含むCCR設定リファレンスにも記載されています。
リモートリーダーElasticsearchクラスターの構成
このセットアップ例では、最初に設定するElasticsearchクラスターは、CCR固有の設定がない本番環境モードのクラスターです。ローカルのLiferay DXPノードからの読み取りと書き込み、および別のデータセンタにあるLiferay DXPノードからの書き込み要求を受け入れます。
-
elasticsearch.yml
を構成します。[Remote Elasticsearch Home]/config/elasticsearch.yml
cluster.name: LiferayElasticsearchCluster_LEADER node.name: es-leader-node-1 http.port: 9200 transport.port: 9300 xpack.security.enabled: true ### TLS/SSL settings for Transport layer xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.keystore.path: certs/elastic-nodes.p12 xpack.security.transport.ssl.keystore.password: liferay xpack.security.transport.ssl.truststore.path: certs/elastic-nodes.p12 xpack.security.transport.ssl.truststore.password: liferay xpack.security.transport.ssl.verification_mode: certificate ## TLS/SSL settings for HTTP layer xpack.security.http.ssl.enabled: true xpack.security.http.ssl.keystore.path: certs/elastic-nodes.p12 xpack.security.http.ssl.keystore.password: liferay xpack.security.http.ssl.truststore.path: certs/elastic-nodes.p12 xpack.security.http.ssl.truststore.password: liferay # For Kibana xpack.monitoring.collection.enabled: true
セキュリティ設定(
xpack.security...
)を使用するには、パスワードを設定し、ノード証明書を取得する必要があります。 詳しくは、 Elasticsearchの保護 を参照してください。 -
サーバーを起動します。 サーバーディレクトリのルートにいる場合は、以下を実行します。
./bin/elasticssearch
-
試用段階で、まだ適切なライセンスを持っていない場合は、 Elasticsearchのトライアルライセンス を開始してください。
POST /_license/start_trial?acknowledge=true
正常にインストールされると、ログに
- valid
メッセージが表示されます。[2020-02-26T10:19:36,420][INFO ][o.e.l.LicenseService ] [es-leader-node-1] license [lf263a315-8da3-41f7-8622-lfd7cc14cae29] mode [trial] - valid
リモートLiferay DXPクラスターノードの構成
このセットアップにおけるLiferay DXPノードの1つは、リーダー/リモートElasticsearchサーバーとの間で読み取りと書き込みを行います。
-
Liferay Home/osgi/configs
フォルダに構成ファイルを提供して、Liferay Connector to Elasticsearch 7を設定します。 以下の名前を付けますcom.liferay.portal.search.elasticsearch7.configuration.ElasticsearchConfiguration.config
-
以下のコンテンツを指定します
Liferay DXP 7.3の場合:
productionModeEnabled="true" remoteClusterConnectionId="remote" logExceptionsOnly="false"
Liferay DXP 7.2の場合:
clusterName="LiferayElasticsearchCluster_LEADER" operationMode="REMOTE" transportAddresses=["localhost:9300"] logExceptionsOnly="false"
tip開発中やテスト中は、
logExceptionsOnly="false"
を設定ファイルに設定しておくと便利です。 -
リモート接続を設定します。
Liferay DXP 7.3の場合、
com.liferay.portal.search.elasticsearch7.configuration.ElasticsearchConnectionConfiguration-remote.config
という名前の構成ファイルをLiferay Home/osgi/configs
フォルダに提供します。active=B"true" connectionId="remote" username="elastic" password="liferay" authenticationEnabled=B"true" httpSSLEnabled=B"true" networkHostAddresses=["https://localhost:9200"] truststorePassword="liferay" truststorePath="/PATH/TO/elastic-nodes.p12" truststoreType="pkcs12"
importantElasticsearchConfiguration.config
のremoteClusterConnectionId
の値は、ElasticsearchConnectionConfiguration-remote.config
ファイルのconnectionId
と一致する必要があります。Liferay DXP 7.2の場合、
com.liferay.portal.search.elasticsearch7.configuration.XPackSecurityConfiguration.config
という名前の設定ファイルに以下の内容を記述して、接続を保護します。certificateFormat="PKCS#12" sslKeystorePath="/PATH/TO/elastic-nodes.p12" sslKeystorePassword="liferay" sslTruststorePath="/PATH/TO/elastic-nodes.p12" sslTruststorePassword="liferay" requiresAuthentication=B"true" username="elastic" password="liferay" transportSSLVerificationMode="certificate" transportSSLEnabled=B"true"
-
これらの
.config
ファイルは同じリモート(書き込み)接続を使用するため、各フォロワーDXPノードにコピーします。 読み取り専用のフォロワー接続は、Configuring CCR in a Local/Follower Data Centerで別途設定します。 -
Liferay DXPサーバーを起動します。
importantDXPを新規にインストールして設定する場合、コントロールパネルの > 設定 > 検索 の Index Actions タブで、スペルチェックのインデックスを再作成するようにしてください。
Kibanaがリモート/リーダーのElasticsearchクラスタに接続されている場合、Management → Index Managementにナビゲートして、利用可能なLiferayインデックスを確認します。
リモート/リーダーElasticsearchサーバーを含むデータセンターが稼働すると、ローカル/フォロワーデータセンターをセットアップする準備が整います。