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

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

以下の手順を実行する前に、まず リモート/リーダー データ センターで 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.config 内の remoteClusterConnectionId 値は、 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 では、CCR 接続の構成ファイル (例: ElasticsearchConnectionConfiguration-ccr.config) を、LES クロス クラスター レプリケーション LPKG の初期デプロイメントと同時にデプロイしないでください。 モジュールが完全に起動する前に設定ファイルがデプロイされると、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が構成されました。 設定で問題が発生した場合は、 トラブルシューティング ガイドを参照してください。