MSRP - Proveedor de recursos de almacenamiento de MongoDB

Acerca del MSRP

Cuando AEM Communities está configurado para utilizar MSRP como su tienda común, el contenido generado por el usuario (UGC) es accesible desde todas las instancias de autor y publicación sin necesidad de sincronización ni replicación.

Consulte también Características de las opciones de SRP y Topologías recomendadas.

Requisitos

Configuración de MongoDB

Seleccione MSRP

La consola de configuración de almacenamiento permite seleccionar la configuración de almacenamiento predeterminada, que identifica qué implementación de SRP utilizar.

Al autor, para acceder a la consola de configuración de almacenamiento:

  • Desde la navegación global: Herramientas > Comunidades > Configuración de almacenamiento

chlimage_1-28

  • Seleccione Proveedor de recursos de almacenamiento de MongoDB (MSRP)

  • Configuración de mongoDB

    • URI de mongoDB

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

    • Base de datos mongoDB

      predeterminado: comunidades

    • Colección de UGC mongoDB

      predeterminado: contenido

    • Colección de datos adjuntos mongoDB

      predeterminado: archivos adjuntos

  • SolrConfiguration

    • Host de Zookeeper

      Cuando se ejecuta en modo SolrCloud con un ZooKeeper externo, establezca este valor en HOST:PORT para ZooKeeper, como my.server.com:2181
      Para un ensamblado ZooKeeper, introduzca valores HOST:PORT separados por coma, como host1:2181,host2:2181
      Deje en blanco si ejecuta Solr en modo independiente utilizando el ZooKeeper interno.
      Predeterminado: <blank>

    • Solr
      URLTURL utilizada para comunicarse con Solr en modo independiente.
      Déjelo en blanco si se ejecuta en el modo SolrCloud.

      Predeterminado: https://127.0.0.1:8983/solr/

    • Colección
      SolrEl nombre de la colección Solr.

      Predeterminado: colección1

  • Seleccione Enviar

NOTA

La base de datos mongoDB, cuyo nombre predeterminado es communities, no debe establecerse en el nombre de una base de datos que se esté utilizando para almacenes de nodos o almacenes de datos (binarios). Consulte también Elementos de almacenamiento en AEM 6.

Conjunto de réplicas de MongoDB

Para el entorno de producción, se recomienda configurar un conjunto de réplicas, un clúster de servidores MongoDB que implementa replicación primaria-secundaria y failover automatizado.

Para obtener más información sobre los conjuntos de réplicas, visite la documentación Replication de MongoDB.

Para trabajar con conjuntos de réplicas y aprender a definir conexiones entre aplicaciones y instancias de MongoDB, visite la documentación Connection String URI Format de MongoDB.

Url de ejemplo para la conexión a un conjunto de réplicas

# 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

Configuración de Solr

Una instalación de Solr se puede compartir entre el almacén de nodos (Oak) y el almacén común (MSRP) utilizando diferentes colecciones.

Si se utilizan intensamente las colecciones Oak y MSRP, puede instalarse un segundo Solr por motivos de rendimiento.

Para los entornos de producción, SolrCloud mode proporciona un rendimiento mejorado sobre el modo independiente (una única configuración local de Solr).

Para obtener más información sobre la configuración, consulte Configuración de Solr para SRP.

Actualización

Si se actualiza desde una versión anterior configurada con MSRP, será necesario

  1. Realizar la actualización a AEM Communities
  2. Instalar nuevos archivos de configuración de Solr
  3. Reindexar MSRP
    Consulte la sección Herramienta de reindexación de MSRP

Publicación de la configuración

El MSRP debe identificarse como el almacén común en todas las instancias de autor y publicación.

Para que la configuración idéntica esté disponible en el entorno de publicación:

  • Sobre el autor:
    • Vaya del menú principal a Tools > Operations > Replication
    • Seleccione Activar árbol
    • Ruta de inicio:
      • Vaya a /etc/socialconfig/srpc/
    • Seleccione Activar

Administración de datos de usuario

Para obtener información sobre los usuarios, perfiles de usuario y grupos de usuarios, que a menudo se introducen en el entorno de publicación, visite

Herramienta de reindexación de MSRP

Hay un extremo HTTP para reindexar Solr para MSRP cuando se instalan nuevos archivos de configuración o se repare un índice Solr dañado.

Con esta herramienta, MongoDB es la fuente de verdad para el MSRP; las copias de seguridad solo deben realizarse con MongoDB.

El árbol UGC completo se puede reindexar, o solo un subárbol específico, como se especifica en el parámetro *path *data .

Esta herramienta se puede ejecutar desde la línea de comandos utilizando cURL o cualquier otra herramienta HTTP.

Al reindexar, existe un equilibrio entre la memoria y el rendimiento controlado por el parámetro *batchSize *data , que especifica cuántos registros UGC se reindexan por lote.

Un valor predeterminado razonable es 5000:

  • Si la memoria es un problema, especifique un número menor
  • Si la velocidad es un problema, especifique un número mayor para aumentar la velocidad

Ejecución de la herramienta de reindexación MSRP mediante el comando cURL

El siguiente comando cURL muestra lo que es necesario para que una solicitud HTTP reindexe el UGC almacenado en MSRP.

El formato básico es:

cURL -u inicio de sesión -d datos reindex-url

inicio de sesión = id de administrador:contraseña
Por ejemplo: admin:admin

data = "batchSize=size&path=path"

size = ¿cuántas entradas UGC reindexar por operación?
/content/usergenerated/asi/mongo/

path = la ubicación raíz del árbol de UGC para reindexar

  • Para reindexar todo UGC, especifique el valor de la propiedad asipathde
    /etc/socialconfig/srpc/defaultconfiguration
  • Para limitar el índice a algún UGC, especifique un subárbol de asipath

reindex-url = el punto final para la reindexación de SRP
http://localhost:4503/services/social/datastore/mongo/reindex

NOTA

Si está reindexando DSRP Solr, la dirección URL es /services/social/datastore/rdb/reindex

Ejemplo de reindexación de MSRP

curl -s -u admin:admin -d 'batchSize=10000&path=/content/usergenerated/asi/mongo/' http://localhost:4503/services/social/datastore/mongo/reindex

Cómo mostrar el MSRP

Para configurar el MSRP para un entorno de demostración o desarrollo, consulte HowTo Setup MongoDB for Demo.

Solución de problemas

UGC no visible en MongoDB

Asegúrese de que MSRP se haya configurado para ser el proveedor predeterminado comprobando la configuración de la opción de almacenamiento. De forma predeterminada, el proveedor de recursos de almacenamiento es JSRP.

En todas las instancias de autor y publicación de AEM, vuelva a la consola de configuración de almacenamiento o compruebe el repositorio de AEM:

  • En JCR, si /etc/socialconfig

    • No contiene un nodo srpc, significa que el proveedor de almacenamiento es JSRP
    • Si el nodo srpc existe y contiene el nodo defaultconfiguration, las propiedades de la configuración predeterminada deben definir MSRP para que sea el proveedor predeterminado

UGC desaparece después de la actualización

Si actualiza desde un sitio de AEM Communities 6.0 existente, cualquier UGC preexistente debe convertirse para ajustarse a la estructura requerida para la API SRP después de actualizar a AEM Communities 6.3.

Hay una herramienta de código abierto disponible en GitHub para este fin:

La herramienta de migración se puede personalizar para exportar UGC de versiones anteriores de AEM comunidades sociales para importarlo a AEM Communities 6.1 o posterior.

Error: proveedor_id de campo no definido

Si se ve el siguiente error en los registros, indica que el archivo de esquema Solr no está configurado correctamente.

JsonMappingException: campo no definido 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

Para resolver el error, al seguir las instrucciones de Instalación de MLS estándar, asegúrese de

  • Los archivos de configuración XML se copiaron en la ubicación Solr correcta
  • Solr se reinició después de que los nuevos archivos de configuración reemplazaran a los existentes

La conexión segura con MongoDB falla

Si falla un intento de establecer una conexión segura con el servidor MongoDB debido a la falta de una definición de clase, es necesario actualizar el paquete de controladores MongoDB, mongo-java-driver, disponible en el repositorio público maven.

  1. Descargue el controlador de https://search.maven.org/#artifactdetails%7Corg.mongodb%7Cmongo-java-driver%7C2.13.2%7Cjar (versión 2.13.2 o posterior)
  2. Copie el paquete en la carpeta "crx-quickstart/install" para una instancia de AEM
  3. Reinicio de la instancia de AEM

Medios

En esta página

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