Show Menu
トピック×

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

MSRP について

MSRPを共通ストアとして使用するようにAEM Communitiesが設定されている場合、ユーザー生成コンテンツ(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 :content
    • 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:passwordExample: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:
  • In JCR, if /etc/socialconfig
    • 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 Social Communitiesの以前のバージョンからUGCを書き出すようにカスタマイズして、AEM Communities6.1以降に読み込むことができます。

エラー - 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 インスタンスを再起動します。