現在表示中:

MSRP について

MSRP を共通ストアとして使用するよう AEM Communities を設定すると、すべてのオーサーインスタンスとパブリッシュインスタンスから、同期もレプリケーションもおこなわずに、ユーザー生成コンテンツ(UGC)にアクセスできるようになります。

SRP オプションの特性推奨されるトポロジも参照してください。

要件

MongoDB 設定

MSRP の選択

ストレージ設定コンソールでは、デフォルトのストレージ設定を選択できます。この設定で、どの SRP の実装を使用するかを指定します。

オーサー環境でストレージ設定コンソールにアクセスするには:

  • グローバルナビゲーションから、ツール/コミュニティ/ストレージ設定を選択します。
chlimage_1
  • MongoDB ストレージリソースプロバイダー (MSRP)」を選択します。
  • MongoDB 設定
    • mongoDB URI
      デフォルト:mongodb://localhost/?maxPoolSize=10&waitQueueMultiple=5&readPreference=secondaryPreferred
    • mongoDB データベース
      デフォルト:communities
    • mongoDB UGC コレクション
      デフォルト:content
    • mongoDB 添付ファイルコレクション
      デフォルト:attachments
  • SolrConfiguration
    • Zookeeper ホスト
      外部の ZooKeeper を使用して SolrCloud モードで実行している場合は、この値を ZooKeeper の HOST:PORT(例:my.server.com:2181)に設定します。
      ZooKeeper Ensemble の場合は、HOST:PORT 値をコンマで区切って入力します(例:host1:2181,host2:2181)。
      内部 ZooKeeper を使用してスタンドアロンモードで Solr を実行している場合は、空白のままにします。
      デフォルト<blank>
    • Solr URL
      スタンドアロンモードで Solr と通信するために使用する URL。
      SolrCloud モードで実行している場合は、空白のままにします。
      デフォルト:http://127.0.0.1:8983/solr/
    • Solr コレクション
      Solr コレクションの名前。
      デフォルト:collection1
  • 送信」を選択します。

注意:

mongoDB データベース(デフォルトの名前は communities)を、ノードストアまたはデータ(バイナリ)ストアで使用されているデータベースの名前に設定することはできません。 AEM 6 のストレージ要素も参照してください。

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 をインストールすることもできます。

実稼動環境では、SolrCloud モードを使用すると、スタンドアロンモード(単一のローカルの Solr セットアップ)よりもパフォーマンスが向上します。

設定について詳しくは、SRP 用の Solr 設定を参照してください。

アップグレード

MSRP を使用して設定した以前のバージョンからアップグレードする場合は、以下が必要です。

  1. AEM Communities へのアップグレードの実行
  2. 新しい Solr 設定ファイルのインストール
  3. MSRP のインデックスの再作成
      MSRP インデックス再作成ツールの節を参照してください。

設定の公開

すべてのオーサーインスタンスとパブリッシュインスタンスで、MSRP が共通ストアとして指定されている必要があります。

パブリッシュ環境で同一の設定を使用できるようにするには:

  • オーサー環境で、以下の設定をします。
    • メインメニューからツール/運営/レプリケーションに移動します。
    • ツリーをアクティベート」を選択します。
    • 開始パス:
      • /etc/socialconfig/srpc/ を参照します。
    • アクティベート」を選択します。

ユーザーデータの管理

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

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

新しい設定ファイルをインストールしたり、Solr のインデックスを修復したりするときは、MSRP 用の Solr のインデックス再作成用の HTTP エンドポイントを使用できます。

このツールでは、MongoDB が MSRP の情報源になるので、バックアップを取るときは MongoDB だけで十分です。

UGC ツリー全体のインデックスを再作成するか、またはパスデータパラメーターで指定したとおりに、特定のサブツリーのインデックスだけを再作成することもできます。

このツールは、コマンドラインから cURL などの HTTP ツールを使用して実行できます。

インデックスを再作成する際は、メモリとパフォーマンスのトレードオフがあり、それを batchSize データパラメーターで制御します。このパラメーターでは、1 回の操作でどれだけの数の 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 エントリの数
  現在、サポート対象は MSRP のみ:
    /content/usergenerated/asi/mongo/

path = インデックスを再作成する UGC のツリーのルートの場所
  - すべての UGC のインデックスを再作成するには、次のノードの asipath プロパティの値を指定します。
     /etc/socialconfig/srpc/defaultconfiguration
  - 一部の UGC に限定するには、asipath のサブツリーを指定します。

reindex-url = SRP のインデックスを再作成するためのエンドポイント
  現在、サポート対象は MSRP のみ:
        http://localhost:4503/services/social/datastore/mongo/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 です。

すべての AEM オーサーインスタンスとパブリッシュインスタンスで、ストレージ設定コンソールに再度移動するか、または以下の手順で AEM リポジトリを確認してください。

  • JCR で、/etc/socialconfig
    • srpc ノードが含まれていない場合は、ストレージプロバイダーが JSRP であることを示します。
    • srpc ノードが存在し、ノード defaultconfiguration が含まれている場合は、defaultconfiguration のプロパティで MSRP がデフォルトのプロバイダーに設定されている必要があります。

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

既存の AEM Communities 6.0 サイトからアップグレードする場合は、AEM Communities 6.3 にアップグレードした後、既存の UGC を SRP API が求める構造に合わせて変換する必要があります。

そのためのオープンソースツールが GitHub で入手できます。

この移行ツールをカスタマイズし、以前のバージョンの AEM ソーシャルコミュニティの UGC をエクスポートして AEM Communities 6.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

このエラーを解決するには、標準の MLS のインストールをおこなったときに、以下を実行したか確認してください。

  • XML 設定ファイルを正しい Solr の場所にコピーした
  • 新しい設定ファイルを既存のファイルと置き換えた後に Solr を再起動した

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

MongoDB サーバーへのセキュア接続の試みが、クラス定義が見つからないという理由で失敗する場合は、MongoDB ドライバーバンドル mongo-java-driver(公開されている maven リポジトリで入手可能)を更新する必要があります。

  1. ドライバーを
    http://search.maven.org/#artifactdetails%7Corg.mongodb%7Cmongo-java-driver%7C2.13.2%7Cjar
    からダウンロードします(バージョン 2.13.2 以降)。
  2. バンドルを AEM インスタンスの「crx-quickstart/install」フォルダーにコピーします。
  3. AEM インスタンスを再起動します。

リソース

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー