Show Menu
トピック×

MSRP - MongoDB ストレージリソースプロバイダー

MSRP について

AEM CommunitiesがMSRPを共通ストアとして使用するように設定されている場合、ユーザー生成コンテンツ(UGC)は、同期や複製を必要とせずに、すべての作成者インスタンスと発行インスタンスからアクセスできます。

要件

MongoDB 設定

MSRP の選択

ストレージ設定コンソールでは 、デフォルトのストレージ設定を選択できます。これにより、使用するSRPの実装が識別されます。
オーサー環境でストレージ設定コンソールにアクセスするには:
  • From global navigation, select Tools > Communities > Storage Configuration .
  • Select MongoDB Storage Resource Provider (MSRP)
  • MongoDB 設定
    • MongoDB URI
      default :mongodb://localhost/?maxPoolSize=10&waitQueueMultiple=5&readPreference=secondaryPreferred
    • MongoDB データベース
      default :コミュニティ
    • MongoDB UGC コレクション
      default :コンテンツ
    • MongoDB 添付ファイルコレクション
      default :attachments
  • SolrConfiguration
    • When running in SolrCloud mode with an external ZooKeeper, set this value to the HOST:PORT for the ZooKeeper, such as my.server.com:2181
      ZooKeeperアンサンブルの場合、 HOST:PORT host1:2181,host2:2181など、コンマで区切った値を入力します。
      内部のZooKeeperを使用してスタンドアロンモードでSolrを実行する場合は、空白のままにします。 デフォルト : <空白>
      • Solr URL ​スタンドアロンモードで Solr と通信するために使用する URL。SolrCloud モードで実行している場合は、空白のままにします。
        デフォルト :https://127.0.0.1:8983/solr/
      • Solr コレクション ​Solr コレクションの名前。
        デフォルト :collection1
  • Select Submit
mongoDB データベース(デフォルトの名前は communities )を、 ノードストアまたはデータ(バイナリ)ストア で使用されているデータベースの名前に設定することはできません。See also Storage Elements in AEM 6.5 .

MongoDB レプリカセット

実稼動環境では、レプリカセットをセットアップすることを強く推奨します。レプリカセットとは、マスタースレーブ型レプリケーションと自動フェイルオーバーを実装している MongoDB サーバーのクラスターです。
レプリカセットについて詳しくは、MongoDB の レプリケーション に関するドキュメントを参照してください。
レプリカセットの操作と、アプリケーションと MongoDB のインスタンスとの間の接続を定義する方法については、MongoDB の 接続文字列の URI フォーマット に関するドキュメントを参照してください。

レプリカセットに接続するための URL の例

# Example url for:
# servers "mongoserver1", "mongoserver2", "mongoserver3"
# replica set 'rs0'
# port numbers only necessary if not default port 27017
mongodb://mongoserver1:<mongoport1>,mongoserver2:<mongoport2>,mongoserver3:<mongoport3>/?replicaSet=rs0&maxPoolSize=100&waitQueueMultiple=50&readPreference=secondaryPreferred

Solr 設定

別々のコレクションを使用することで、1 つの Solr をノードストア(Oak)と共通ストア(MSRP)の間で共有できます。
Oak と MSRP のコレクションがどちらも高頻度で使用される場合は、パフォーマンス上の理由から 2 つ目の Solr をインストールすることもできます。
For production environments, SolrCloud mode provides improved performance over standalone mode (a single, local Solr setup).
設定について詳しくは、 SRP 用の Solr 設定 を参照してください。

アップグレード

MSRPを使用して設定された以前のバージョンからアップグレードする場合は、次の操作が必要になります。
  1. 新しいSolr設定ファイルのインストール
  2. Reindex MSRP See section MSRP Reindex Tool

設定の公開

すべてのオーサーインスタンスとパブリッシュインスタンスで、MSRP が共通ストアとして指定されている必要があります。
同じ設定を発行環境で使用できるようにするには、作成者インスタンスにログインし、次の手順に従います。
  • Navigate from main menu to Tools > Operations > Replication .
  • Select Activate Tree
  • 開始パス :
    • 参照先 /etc/socialconfig/srpc/
  • Select Activate

ユーザーデータの管理

パブリッシュ環境で頻繁に入力されるユーザー、ユーザープロファイルおよびユーザーグループについては、以下を参照してください。 ​**

MSRP インデックス再作成ツール

新しい設定ファイルをインストールしたり、Solr のインデックスを修復したりするときは、MSRP 用の Solr のインデックス再作成用の HTTP エンドポイントを使用できます。
このツールでは、MongoDB が MSRP の情報源になるので、バックアップを取るときは MongoDB だけで十分です。**
UGCツリー全体のインデックスは、*path *dataパラメータで指定された、または特定のサブツリーのみで再インデックスできます。
このツールは、コマンドラインから cURL などの HTTP ツールを使用して実行できます。
インデックスを再作成する場合、メモリとパフォーマンスの間に、*batchSize *dataパラメータで制御されるトレードオフがあります。このパラメータでは、バッチごとに再インデックスされるUGCレコードの数を指定します。
適切なデフォルト値は 5000 です。
  • メモリに問題がある場合は、より小さい数値を指定します
  • 速度に問題がある場合は、速度を上げるには、大きい数値を指定します

cURL コマンドを使用した MSRP インデックス再作成ツールの実行

以下に示す cURL コマンドは、MSRP に格納されている UGC のインデックス再作成の HTTP リクエストに必要なコマンドです。
基本的な形式は以下のとおりです。
cURL -u signin -d data reindex-url
signin = administrator-id:password例:admin:admin
data = "batchSize= size &path= path"
size = 1回の操作で再インデックスするUGCエントリの数 /content/usergenerated/asi/mongo/
path =インデックスを再作成するUGCのツリーのルート位置
  • すべてのUGCのインデックスを再作成するには、次のプロパティの値 asipath を指定します。 /etc/socialconfig/srpc/defaultconfiguration
  • インデックスを一部のUGCに制限するには、 asipath
reindex-url = SRPの再インデックスのエンドポイント http://localhost:4503/services/social/datastore/mongo/reindex
If you are reindexing DSRP Solr , the URL is /services/social/datastore/rdb/reindex

MSRP インデックス再作成の例

curl -s -u admin:admin -d 'batchSize=10000&path=/content/usergenerated/asi/mongo/' http://localhost:4503/services/social/datastore/mongo/reindex

MSRP のデモの実行方法

MSRP をデモ用に設定するには、 MongoDB をデモ用に設定する方法 を参照してください。

トラブルシューティング

UGC が MongoDB で表示されない

ストレージオプションの設定を確認し、MSRP がデフォルトのプロバイダーに設定されているかを確認してください。デフォルトでは、ストレージリソースプロバイダーはJSRPです。
On all author and publish AEM instances, revisit the Storage Configuration console or check the AEM repository:
    • Does not contain an srpc node, it means the storage provider is JSRP.
    • If the srpc node exists and contains node defaultconfiguration , the defaultconfiguration's properties should define MSRP to be the default provider.

アップグレード後に UGC が表示されない

If upgrading from an exisitng AEM Communities 6.0 site, any pre-existing UGC must be converted to conform to the structure required for the SRP API after upgrading to AEM Communities 6.3.
GitHubには、次の目的で使用できるオープンソースツールがあります。
移行ツールは、AEM Communities 6.1以降に読み込むために、以前のバージョンのAEM SocialコミュニティからUGCを書き出すようにカスタマイズできます。

エラー - undefined field provider_id

以下のエラーがログに表示された場合は、Solr スキーマファイルが適切に設定されていません。

JsonMappingException: undefined field provider_id

Caused by: com.fasterxml.jackson.databind.JsonMappingException: undefined field provider_id
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:129)
at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:1819)
at com.adobe.cq.social.scf.core.BaseSocialComponent.toJSONString(BaseSocialComponent.java:196)
... 124 common frames omitted

To resolve the error, when following the instructions for Installing Standard MLS , ensure:
  • XML設定ファイルが正しいSolrの場所にコピーされました。
  • 新しい設定ファイルを既存のファイルと置き換えた後に Solr を再起動した.

MongoDB へのセキュア接続が失敗する

MongoDB サーバーへのセキュア接続の試みが、クラス定義が見つからないという理由で失敗する場合は、MongoDB ドライバーバンドル mongo-java-driver (公開されている maven リポジトリで入手可能)を更新する必要があります。
  1. バンドルをAEMインスタンスの「crx-quickstart/install」フォルダーにコピーします。
  2. AEM インスタンスを再起動します。