MSRP - MongoDB儲存資源提供程式

關於MSRP

將AEM Communities配置為使用MSRP作為其公共儲存時,用戶生成的內容(UGC)可從所有作者和發佈實例訪問,而無需同步或複製。

另請參見SRP選項的特性建議拓撲

要求

MongoDB配置

選擇MSRP

儲存配置控制台允許選擇預設儲存配置,該配置標識要使用的SRP實施。

在作者中,要訪問儲存配置控制台:

  • 在全局導航中,選擇​工具 > 社區 > 儲存配置

msrp

  • 選擇​MongoDB儲存資源提供程式(MSRP)

  • mongoDB 設定

    • mongoDB URI

      預設:mongodb://localhost/?maxPoolSize=10&waitQueueMultiple=5&readPreference=secondaryPreferred

    • mongoDB 資料庫

      預設:社區

    • mongoDB UGC 集合

      預設:內容

    • mongoDB 附件集合

      預設:附件

  • SolrConfiguration

    • Zookeeper Host

      在具有外部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模式中執行,請留空。

        預設值:https://127.0.0.1:8983/solr/

      • Solr
        CollectionSolr系列名稱。

        預設值:collection1

  • 選擇​提交

注意

預設為名稱communities的mongoDB資料庫不應設定為用於節點儲存或資料(二進位)儲存的資料庫的名稱。 另請參見6.5](…/…/help/sites-deploying/storage-elements-in-aem-6.md)中AEM的[儲存元素。

MongoDB複製副本集

對於生產環境,強烈建議設定複製副本集,即實施主次複製和自動故障切換的MongoDB伺服器群集。

要瞭解有關複製副本集的更多資訊,請訪問MongoDB的Replication文檔。

要使用複製副本集並瞭解如何定義應用程式與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 設定

Solr安裝可以通過使用不同的集合在節點儲存(Oak)和公共儲存(MSRP)之間共用。

如果Oak和MSRP系列都已大量使用,則可能會因效能原因安裝第二個Solr。

對於生產環境,SolrCloud模式可改善獨立模式(單一本機Solr設定)的效能。

有關配置詳細資訊,請參閱 SRP的Solr配置。

升級

如果從使用MSRP設定的舊版進行升級,則必須:

  1. 執行升級至AEM Communities
  2. 安裝新的Solr配置檔案
  3. 重新索引MSRP
    請參閱MSRP重新索引工具

發佈配置

MSRP必須被識別為所有作者和發佈例項上的公用商店。

若要在發佈環境中提供相同的設定,請登入您的作者例項,然後依照下列步驟進行:

  • 從主菜單導航到​工具 > 操作 > 複製
  • 選擇​激活樹
  • 開始路徑:
    • 瀏覽至/etc/socialconfig/srpc/
  • 選擇​激活

管理用戶資料

有關通常在發佈環境中輸入的​用戶用戶配置檔案​和​用戶組​的資訊,請訪問

MSRP重新索引工具

在安裝新配置檔案或修復損壞的Solr索引時,有一個HTTP端點用於為MSRP的Solr重新編製索引。

使用此工具,MongoDB是MSRP truth​的源;只需對MongoDB執行備份。

整個UGC樹可以重新編製索引,或僅對*path *data參數指定的特定子樹進行索引。

此工具可使用cURL或任何其他HTTP工具從命令列執行。

在重新建立索引時,由*batchSize *data參數控制的記憶體與效能之間會進行權衡,此參數指定每批重新建立UGC記錄的數目。

合理的違約為5000:

  • 如果記憶體有問題,請指定較小的數字
  • 如果速度是問題,請指定較大的數目以增加速度

使用cURL命令執行MSRP重新索引工具

以下cURL命令顯示HTTP要求重新索引儲存在MSRP中的UGC的必要項。

基本格式為:

cURL -u signin -d data reindex-url

signin = administrator-id:password例如:admin:admin

data = "batchSize=size&path=path"

size =每個操作要重新索引的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

注意

如果您重新索引DSRP Solr,則URL為​**/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。

在所有作者和發AEM布實例上,請重新訪問儲存配置控制台或檢查存AEM儲庫:

  • 在JCR中,如果/etc/socialconfig

    • 不包含srpc節點,表示儲存提供程式是JSRP。
    • 如果srpc節點存在並包含節點defaultconfiguration,則defaultconfiguration的屬性應將MSRP定義為預設提供程式。

升級後UGC消失

如果從現有的AEM Communities6.0站點升級,則必須轉換任何預先存在的UGC,以符合升級至AEM Communities6.3後的SRP API所需的結構。

GitHub上提供開放原始碼工具,可用於:

可自訂移轉工具,從舊版社交社群匯出UGCAEM,以匯入AEM Communities6.1或更新版本。

錯誤——未定義的欄位provider_id

如果日誌中出現以下錯誤,表示Solr架構檔案配置不正確。

JsonMappingException:未定義的欄位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(可從公共主儲存庫獲得)。

  1. https://search.maven.org/#artifactdetails%7Corg.mongodb%7Cmongo-java-driver%7C2.13.2%7Cjar(2.13.2版或更新版本)下載驅動程式。
  2. 將包複製到實例的「crx-quickstart/install」資料夾AEM中。
  3. 重新啟動AEM實例。

資源

本頁內容

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now