MSRP - MongoDB儲存資源提供程式

關於MSRP

當AEM Communities設定為使用MSRP做為其公用儲存時,使用者產生的內容(UGC)可從所有作者和發佈例項存取,而不需同步或複製。

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

需求

  • MongoDB:

    • 2.6版或更新版本
    • 無需配置蒙古檔案或共用
    • 強烈建議使用複製副本
    • 可能與AEM在相同的主機上執行,或遠端執行
  • Apache Solr:

MongoDB Configuration

選擇MSRP

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

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

  • 從全域導覽: 「工具>社群>儲存組態」

chlimage_1-28

  • Select MongoDB Storage Resource Provider (MSRP)

  • mongoDB 設定

    • mongoDB URI

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

    • mongoDB 資料庫

      預設: 社區

    • mongoDB UGC 集合

      預設: 內容

    • mongoDB 附件集合

      預設: 附件

  • SolrConfiguration

    • Zookeeper Host

      SolrCloud模式下與外部ZooKeeper一起執行時,將此值設為 ZooKeeper的值,例如 HOST:PORT my.server.com:2181 For a ZooKeeper Ensemble,輸入逗號分隔​值,例如 HOST:PORT** host1:2181,host2:2181如果使用內部ZooKeeper以獨立模式運行Solr,請將其留空。
      預設值: <blank>

    • Solr URL​在獨立模式下與Solr通訊的URL。
      如果在SolrCloud模式中執行,請留空。

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

    • Solr系列 Solr系列名稱。

      預設值: collection1

  • 選擇「提 交」

注意

預設為名稱的mongoDB資料庫不 communities應設定為用於節點儲存或資料(二進位) 儲存的資料庫的名稱。 另請參閱 AEM 6中的儲存元素

MongoDB複製副本集

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

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

要使用複製副本集並瞭解如何定義應用程式與MongoDB實例之間的連接,請訪問MongoDB的 Connection String 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. 重新索引MSRPSee區段 MSRP重新索引工具

發佈設定

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

要使相同的配置在發佈環境中可用,請執行以下操作:

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

管理使用者資料

如需使用者 、使用者​、使用者​設定檔和使用者群組的相關資訊,請造訪

MSRP重新索引工具

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

MongoDB是MSRP的真 ; 只需對MongoDB執行備份。

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

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

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

合理的違約為5000:

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

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

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

基本格式為:

cURL -u 簽名 -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,請參 閱HowTo Setup MongoDB for Demo

疑難排解

UGC在MongoDB中不可見

請檢查儲存選項的設定,以確定MSRP已設定為預設提供者。 預設情況下,儲存資源提供方是JSRP。

在所有作者和發佈AEM例項上,請重新造訪 Storage Configuration Console ,或檢查AEM存放庫:

  • 在JCR中,如 果/etc/socialconfig

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

升級後UGC消失

如果從現有的AEM Communities 6.0網站升級,在升級至AEM Communities 6.3後,任何預先存在的UGC都必須轉換為符合 SRP API所需的結構。

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

您可自訂移轉工具,從舊版AEM Social社群匯出UGC,以匯入至AEM Communities 6.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. 將套件複製至AEM例項的「crx-quickstart/install」檔案夾
  3. 重新啟動AEM例項

資源

本頁內容