Cross Cluster Replication
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

ローカルフォロワーデータセンターでのCCRの構成

サブスクリプション LES サブスクリプション

以下の手順を実行する前に、まず リモート/リーダーデータセンター でCCRを構成してください。

ローカル/フォロワーデータセンターには、Liferay DXPクラスターノードが保持されており、同じ場所に配置されたElasticsearchクラスターへの読み取り専用接続とリモート/リーダーデータセンターのElasticsearchクラスターへの書き込み専用接続があります。

設定例は、 CCR 設定リファレンスガイド にも完全に記載されている。

フォロワーElasticsearchクラスターの構成

ローカルElasticsearchクラスターはフォロワー(レプリケート済み、読み取り専用)インデックスを保持する必要があり、同じ場所にあるLiferay DXPノードが読み取ることができるローカル検索エンジンとして機能します。

重要

CCR インストールのセキュリティ保護: 前述の 通り、 Elasticsearch クラスターは、同じ CA によって署名されたノード証明書を使用する必要があり、各クラスターのセキュリティ設定は一致している必要があります。 その他のアプローチや詳細については、 Elastic のドキュメント を参照してください。

  1. elasticsearch.ymlを構成します。

    [Follower Elasticsearch Home]/config/elasticsearch.yml

    cluster.name: LiferayElasticsearchCluster_FOLLOWER
    node.name: es-follower-node-1
    
    http.port: 9201
    transport.port: 9301
    
    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...パスワードを設定し、ノード証明書を取得する必要があります。

  2. サーバーを起動します。 サーバーディレクトリのルートにいる場合は、以下を実行します。

    ./bin/elasticssearch
    
  3. 試用段階で、まだ適切なライセンスを持っていない場合は、Elasticsearchのトライアルを開始してください。

    POST /_license/start_trial?acknowledge=true
    

ローカルLiferay DXPクラスターノードの構成

ヒント

ローカルでテストする場合は、TomcatがリモートのDXPノードと異なるポートを使用するように設定します。 この設定例に従うには、HTTP ポートとして 9080 、リダイレクト ポートとして 9443 、シャットダウン ポートとして 9005 を使用します (サーバー ポートは [Liferay Home]/tomcat-[version]/conf/server.xml で変更してください)。

  1. リモート DXP クラスタ ノードの osgi/configs フォルダから Elasticsearch 接続構成ファイル をコピーして、ローカル DXP クラスタ ノードの対応するフォルダにコピーします。

    Liferay DXP 7.3の場合、これには*ElasticsearchConnectionConfiguration-remote.config*ElasticsearchConfiguration.configが含まれています。

    重要

    ElasticsearchConfiguration.configremoteClusterConnectionId の値は、 ElasticsearchConnectionConfiguration-remote.config ファイルの connectionId と一致する必要があります。

    Liferay DXP 7.1および7.2では、 *ElasticsearchConfiguration.config および *XPackSecurityConfiguration.configが含まれています。

    これらのファイルが提供されると、ローカルDXPクラスターノードの書き込み接続が構成されます。

  2. 次に、フォロワーインデックスを使用してローカルElasticsearchサーバーへの読み取り専用接続を構成します。

    Liferay DXP 7.3の場合、com.liferay.portal.search.elasticsearch7.configuration.ElasticsearchConnectionConfiguration-ccr.configという名前の構成ファイルをLiferay Home/osgi/configsに提供します。

    以下のコンテンツを指定します

    active=B"true"
    connectionId="ccr"
    username="elastic"
    password="liferay"
    authenticationEnabled=B"true"
    httpSSLEnabled=B"true"
    networkHostAddresses=["https://localhost:9201"]
    truststorePassword="liferay"
    truststorePath="/PATH/TO/elastic-nodes.p12"
    truststoreType="pkcs12"
    

    Liferay DXP 7.1および7.2の場合、com.liferay.portal.search.elasticsearch.cross.cluster.replication.internal.configuration.ElasticsearchConnectionConfiguration-ccr.configという名前の構成ファイルをLiferay Home/osgi/configsに提供します。

    警告

    Liferay 7.2 では、LES Cross-Cluster Replication LPKG の初期デプロイと同時に、CCR 接続の構成ファイル (例: ElasticsearchConnectionConfiguration-ccr.config) をデプロイしないでください。 モジュールが完全に起動する前に設定ファイルがデプロイされると、Liferay の検索機能が壊れる既知のバグ (LPS-127821があります。 既にこの問題に遭遇している場合は、回避策については クラスター間レプリケーションのトラブルシューティング を参照してください。

    clusterName="LiferayElasticsearchCluster_FOLLOWER"
    connectionId="ccr"
    username="elastic"
    password="liferay"
    authenticationEnabled=B"true"
    transportSSLEnabled=B"true"
    networkHostAddress="https://localhost:9201"
    transportAddresses=["localhost:9301"]
    sslTruststorePassword="liferay"
    sslTruststorePath="/PATH/TO/elastic-nodes.p12"
    certificateFormat="pkcs12"
    sslKeystorePassword="liferay"
    sslKeystorePath="/PATH/TO/elastic-nodes.p12"
    

    設定ファイル名には任意の接尾辞 (この例では-ccr ) を使用できますが、一貫性を保つために、設定内の connectionId プロパティと同一にする必要があります。

  3. Liferay DXPクラスターノードを起動します。

これで接続が構成されました。

CCR(READ)接続が構成され、使用できるようになりました。

あとは、CCR自体を有効にして構成するだけです。

クラスター横断レプリケーションモジュールの設定

LESクラスター横断レプリケーションモジュールは、リーダークラスターの後続、およびリーダークラスターからフォロワークラスターへのすべてのインデックスの初期レプリケーションをトリガーします。 フォローとレプリケーションをトリガーするには、構成ファイル(.config)を介してではなく、システム設定のUIでCCR機能を有効にする必要があります。 いずれかのデータセンターのLiferay DXPノードからCCRを構成します。

  1. グローバルメニューを開き、 コントロールパネルシステム設定 に移動します。 検索 カテゴリを開きます。

  2. クロスクラスターレプリケーション を開きます。

  3. [ローカルクラスターからの読み取り]のボックスをオンにします。

  4. ローカルクラスタ構成 localhost:9080,ccr に値を 1 つ設定します。

    重要

    ここでリモートデータセンターに値を設定しないでください(例では、 localhost:8080,remote となります)。 これを設定すると、同じ名前のリーダーインデックスがすでに存在するリモートクラスタにフォロワーインデックスが作成されます。

    これは、読み取り専用とする接続を定義するものです。 人間の言語で言うと、ここの各エントリは「このアドレス(localhost:9080)のLiferayサーバーはこの名前(この例ではccr)のElasticsearch接続から読み取りを行う」ということを示しています。

  5. をクリックして を更新します。

本番環境のセットアップでは、リモートのElasticsearchクラスターに別のトランスポートアドレスを設定したり(この例ではデフォルトを使用)、フォロワーのElasticsearchクラスターへのレプリケートから一部のインデックスを除外したりすることができます。 これらの目的のための設定フィールドがあります。

リモートクラスター内シードノードのトランスポートアドレス:リモートクラスターとローカルクラスター間の接続を確立するために使用される、リモートクラスター内のノードのトランスポートアドレス。 デフォルトはlocalhost:9300です。

除外するインデックス:クラスター横断レプリケーションから除外するインデックス名を入力します。 ピリオド(.)で始まるインデックスは常に除外されます。 デフォルトでは、リモートクラスター内のすべてのインデックスがローカルクラスターにレプリケートされます。 自動レプリケーションが有効になっていない場合、この設定は無視されます。

自動レプリケーションが有効:ローカルクラスターからの読み取りが有効になっている場合、ローカルElasticsearchクラスターでのフォロワーインデックスの自動作成を有効または無効にします。 Elasticsearchを介してレプリケーションを手動で管理する場合は、この設定を無効にします。 デフォルトでは が有効 になります。

システム設定でCCRを構成します。

インデックスレプリケーションが成功し、読み取り接続が有効になっていることを示すログメッセージが表示されます。

2021-01-22 02:15:11.112 INFO  [liferay/configuration-1][CrossClusterReplicationConfigurationModelListener:163] Creating follower indexes
2021-01-22 02:15:12.864 INFO  [liferay/configuration-1][CrossClusterReplicationConfigurationModelListener:70] Read operations from local clusters are enabled

接続が構成され、インデックスがレプリケートされたら、システムが正しく機能していることを確認します。

セットアップの確認

フォロワーDXPクラスターノードで、[コントロールパネル]→[設定]→[検索機能]に移動します。 Liferay DXP 7.2では、[Connections]タブもクリックする必要があります。 接続は次のようになります。

検索管理パネルでElasticsearch 7の接続を確認します。

これでCCRが構成されました。 設定で問題が発生した場合は、 トラブルシューティングガイドを参照してください。