MSRP - MongoDB存储资源提供程序 msrp-mongodb-storage-resource-provider
关于MSRP about-msrp
当AEM Communities配置为使用MSRP作为其公共存储时,用户生成的内容(UGC)可以从所有创作和发布实例访问,而无需同步或复制。
要求 requirements
-
- 版本2.6或更高版本
- 无需配置mongo或sharding
- 强烈建议使用 副本集
- 可以在与AEM相同的主机上运行或远程运行
-
-
版本4.10或版本5
-
Solr需要Java 1.7或更高版本
-
不需要任何服务
-
运行模式的选择:
- 独立模式
- SolrCloud模式 (建议用于生产环境)
-
多语言搜索(MLS)选择
-
MongoDB配置 mongodb-configuration
选择MSRP select-msrp
的 存储配置控制台 允许选择默认存储配置,该配置标识要使用的SRP实施。
在创作时,要访问存储配置控制台,请执行以下操作:
- 从全局导航: 工具>社区>存储配置
-
选择 MongoDB存储资源提供程序(MSRP)
-
mongoDB 配置
-
mongoDB URI
默认//localhost/?maxPoolSize=10&waitQueueMultiple=5&readPreference=secondaryPreferred
-
mongoDB 数据库
默认:社区
-
mongoDB UGC 收藏集
默认:内容
-
mongoDB 附件收藏集
默认:附件
-
-
SolrConfiguration
-
🔗Zookeeper 主机
运行时 SolrCloud模式 使用外部ZooKeeper,将此值设置为
HOST:PORT
动物园守护者,例如 my.server.com:2181
对于ZooKeeper组合,输入逗号分隔HOST:PORT
值,例如 host1:2181,host2:2181
如果使用内部ZooKeeper以独立模式运行Solr,则保留为空。
默认: <blank> -
Solr URL
用于在独立模式下与Solr通信的URL。
如果在SolrCloud模式下运行,则留空。
默认//127.0.0.1:8983/solr/ -
索勒收藏集
Solr集合名称。
默认:collection1
-
-
选择 提交
MongoDB副本集 mongodb-replica-set
对于生产环境,强烈建议设置一个复制副本集(MongoDB服务器群集,用于实施主次复制和自动故障切换)。
要了解有关副本集的更多信息,请访问MongoDB的 复制 文档。
要使用副本集并了解如何定义应用程序与MongoDB实例之间的连接,请访问MongoDB的 连接字符串URI格式 文档。
用于连接到副本集的示例Url example-url-for-connecting-to-a-replica-set
# Example url for:
>[!CAUTION]
>
>AEM 6.4 has reached the end of extended support and this documentation is no longer updated. For further details, see our [technical support periods](https://helpx.adobe.com/cn/support/programs/eol-matrix.html). Find the supported versions [here](https://experienceleague.adobe.com/docs/?lang=zh-Hans).
# servers "mongoserver1", "mongoserver2", "mongoserver3"
>[!CAUTION]
>
>AEM 6.4 has reached the end of extended support and this documentation is no longer updated. For further details, see our [technical support periods](https://helpx.adobe.com/cn/support/programs/eol-matrix.html). Find the supported versions [here](https://experienceleague.adobe.com/docs/?lang=zh-Hans).
# replica set 'rs0'
>[!CAUTION]
>
>AEM 6.4 has reached the end of extended support and this documentation is no longer updated. For further details, see our [technical support periods](https://helpx.adobe.com/cn/support/programs/eol-matrix.html). Find the supported versions [here](https://experienceleague.adobe.com/docs/?lang=zh-Hans).
# port numbers only necessary if not default port 27017
>[!CAUTION]
>
>AEM 6.4 has reached the end of extended support and this documentation is no longer updated. For further details, see our [technical support periods](https://helpx.adobe.com/cn/support/programs/eol-matrix.html). Find the supported versions [here](https://experienceleague.adobe.com/docs/?lang=zh-Hans).
mongodb://mongoserver1:<mongoport1>,mongoserver2:<mongoport2>,mongoserver3:<mongoport3>/?replicaSet=rs0&maxPoolSize=100&waitQueueMultiple=50&readPreference=secondaryPreferred
Solr 配置 solr-configuration
Solr安装可以通过使用不同的集合在节点存储(Oak)和公共存储(MSRP)之间共享。
如果Oak和MSRP集合都被集中使用,则出于性能原因,可能会安装第二个Solr。
对于生产环境, SolrCloud模式 与独立模式(单个本地Solr设置)相比,提高了性能。
有关配置详细信息,请参阅 SRP的解决方案配置.
升级 upgrading
如果从配置了MSRP的早期版本升级,则需要
-
安装新的Solr配置文件
-
重新编入MSRP索引请参阅一节 MSRP重新索引工具
发布配置 publishing-the-configuration
MSRP必须被标识为所有创作实例和发布实例上的公共存储。
要使相同的配置在发布环境中可用,请执行以下操作:
-
作者:
- 从主菜单导航到 工具>操作>复制
- 选择 激活树
- 开始路径:
- 浏览到
/etc/socialconfig/srpc/
- 浏览到
- 选择 激活
管理用户数据 managing-user-data
有关 用户, 用户配置文件 和 用户组,通常在发布环境中输入,访问
MSRP重新索引工具 msrp-reindex-tool
在安装新配置文件或修复损坏的Solr索引时,有一个用于为MSRP重新编制Solr索引的HTTP端点。
使用此工具, MongoDB是 真理 (二)管理系统更新项目;只需备份MongoDB即可。
整个UGC树可能会重新编入索引,或者只能按照*path *data参数指定的特定子树进行索引。
此工具可以使用cURL或任何其他HTTP工具从命令行运行。
重新索引时,在内存与*batchSize *data参数控制的性能之间存在权衡,该参数指定每批重新索引多少个UGC记录。
合理的违约为5000:
- 如果内存是问题,请指定一个较小的数字
- 如果速度是问题,请指定更大的数字以提高速度
使用cURL命令运行MSRP重新索引工具 running-msrp-reindex-tool-using-curl-command
以下cURL命令显示HTTP请求重新索引存储在MSRP中的UGC所需的内容。
基本格式为:
cURL -u signin -d 数据 reindex-url
signin = administrator-id:password
例如:管理员:管理员
数据 = "batchSize=大小&path=path"
大小 =每个操作要重新索引的UGC条目数/content/usergenerated/asi/mongo/
路径 =要重新索引的UGC树的根位置
- 要重新索引所有UGC,请指定
asipath
财产/etc/socialconfig/srpc/defaultconfiguration
- 要将索引限制为某些UGC,请指定
asipath
reindex-url = SRP的重新索引端点http://localhost:4503/services/social/datastore/mongo/reindex
MSRP重新索引示例 msrp-reindex-example
curl -s -u admin:admin -d 'batchSize=10000&path=/content/usergenerated/asi/mongo/' http://localhost:4503/services/social/datastore/mongo/reindex
如何演示MSRP how-to-demo-msrp
要为演示或开发环境设置MSRP,请参阅 如何为演示设置MongoDB.
疑难解答 troubleshooting
UGC在MongoDB中不可见 ugc-not-visible-in-mongodb
通过检查存储选项的配置,确保MSRP配置为默认提供程序。 默认情况下,存储资源提供程序为JSRP。
在所有创作和发布AEM实例上,重新访问 存储配置控制台 或查看AEM存储库:
-
在JCR中,如果 /etc/socialconfig
- 不包含 srpc 节点,表示存储提供程序是JSRP
- 如果srpc节点存在并包含节点 defaultconfiguration,默认配置的属性应将MSRP定义为默认提供程序
升级后UGC消失 ugc-disappears-after-upgrade
如果从现有的AEM Communities 6.0站点升级,则必须转换任何预先存在的UGC以符合 SRP 升级到AEM Communities 6.3后启用API。
GitHub上提供了一个开源工具,用于此目的:
可以自定义迁移工具,以将UGC从AEM社交社区的早期版本导出,以导入AEM Communities 6.1或更高版本。
错误 — 未定义的字段provider_id error-undefined-field-provider-id
如果日志中出现以下错误,则表示Solr架构文件配置不正确。
JsonMappingException:未定义的字段provider_id 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的安全连接失败 secure-connection-to-mongodb-fails
如果由于缺少类定义而尝试与MongoDB服务器建立安全连接失败,则必须更新MongoDB驱动程序包, mongo-java-driver
,可从公共maven存储库中获取。
- 从下载驱动程序 https://search.maven.org/#artifactdetails%7Corg.mongodb%7Cmongo-java-driver%7C2.13.2%7Cjar (版本2.13.2或更高版本)
- 将包复制到AEM实例的“crx-quickstart/install”文件夹中
- 重新启动AEM实例