MSRP - Proveedor de recursos de Almacenamiento MongoDB

Acerca de MSRP

Cuando AEM Communities está configurado para utilizar MSRP como su almacén común, el contenido generado por el usuario (UGC) es accesible desde todas las instancias de creación 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

  • MongoDB:

    • Versión 2.6 o buena
    • No es necesario configurar los mongos ni el uso compartido
    • Recomendar enérgicamente el uso de un conjunto de réplicas
    • Puede ejecutarse en el mismo host que AEM o de forma remota
  • Apache Solr:

Configuración de MongoDB

Seleccionar MSRP

La consola de configuración de Almacenamiento permite seleccionar la configuración de almacenamiento predeterminada, que identifica la implementación de SRP que se va a utilizar.

Al crear, 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: content

    • Colección de datos adjuntos mongoDB

      predeterminado: adjuntos

  • SolrConfiguration

    • Host de Zookeeper

      Cuando se ejecuta en modo de 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.
      Deje en blanco si se ejecuta en el modo de SolrCloud.

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

    • Solr
      CollectionEl nombre de la colección Solr.

      Predeterminado: collection1

  • Seleccione Enviar

NOTA

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

Conjunto de réplicas MongoDB

Para el entorno de producción, se recomienda enfáticamente 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 de Replicación de MongoDB.

Para trabajar con conjuntos de réplicas y aprender a definir conexiones entre las aplicaciones y las instancias de MongoDB, visite la documentación Formato URI de cadena de conexión 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 puede compartirse entre el almacén de nodos (Oak) y el almacén común (MSRP) mediante diferentes colecciones.

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

Para los entornos de producción, el modo SolrCloud 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. Realice 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 del MSRP

Publicación de la configuración

El MSRP debe identificarse como el almacén común en todas las instancias de creación 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 Herramientas > Operaciones > Replicación
    • Seleccione Activar árbol
    • Ruta de inicio:
      • Vaya a /etc/socialconfig/srpc/
    • Seleccione Activar

Administración de datos de usuario

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

Herramienta de reindexación MSRP

Hay un extremo HTTP para volver a indexar Solr para MSRP al instalar nuevos archivos de configuración o reparar un índice Solr dañado.

Con esta herramienta, MongoDB es la fuente de verdad para el MSRP; las copias de seguridad sólo se deben realizar de MongoDB.

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

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

Al reindexar, hay 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 vuelva a indexar UGC almacenado en MSRP.

El formato básico es:

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

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

data = "batchSize=size&path=path"

size = cantidad de entradas UGC que se reindexarán por operación
/content/usergenerated/asi/mongo/

path = la ubicación raíz del árbol de UGC para volver a indexar

  • Para volver a indexar todo el 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 = punto final para volver a indexar el 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 MSRP

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

Cómo Demostrar 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

Compruebe la configuración de la opción de almacenamiento para asegurarse de que MSRP se ha configurado como el proveedor predeterminado. De forma predeterminada, el proveedor de recursos de almacenamiento es JSRP.

En todas las instancias de creación y publicación de AEM, vuelva a visitar 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 predeterminadas de la configuración deben definir MSRP para que sea el proveedor predeterminado

UGC desaparece tras la actualización

Si realiza la actualización desde un sitio AEM Communities 6.0 existente, cualquier UGC preexistente debe convertirse para cumplir con 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 propósito:

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

Error: id_proveedor_campo no definido

Si aparece el siguiente error en los registros, indica que el archivo 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, cuando siga las instrucciones para Instalación de MLS estándar, asegúrese de

  • Los archivos de configuración XML se copiaron en la ubicación de 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 un intento de establecer una conexión segura con el servidor MongoDB falla 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.

  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. Reinicie la instancia de AEM

Medios

En esta página