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:

MongoDB Configuration

Seleccionar MSRP

La consola 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:

  • En la navegación global, seleccione Herramientas > Comunidades > Configuración de Almacenamiento.

msrp

  • Select MongoDB Storage Resource Provider (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 el modo SolrCloud con un ZooKeeper externo, establezca este valor en el HOST:PORT para ZooKeeper, como my.server.com:2181

      Para un ensamblado ZooKeeper, introduzca valores separados por HOST:PORT comas, como host1:2181,host2:2181

      Deje en blanco si ejecuta Solr en modo independiente utilizando el ZooKeeper interno.
      Predeterminado: <blank>

      • Solr URL​La URL que se utiliza 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/

      • Colección​Solr El nombre de la colección Solr.

        Predeterminado: collection1

  • Seleccione Enviar

Nota

La base de datos mongoDB, que se establece de forma predeterminada en el nombre communities, no debe establecerse en el nombre de una base de datos que se esté utilizando para almacenes de nodos o almacenesde datos (binarios). Consulte también Elementos de Almacenamiento en AEM 6.5.

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 de 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 ofrece un rendimiento mejorado con respecto al modo independiente (una única configuración local de Solr).

Para obtener más información sobre la configuración, consulte Configuración solar 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 MSRPSee sección Herramienta de reindexación 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, inicie sesión en la instancia de creación y siga los pasos:

  • Vaya del menú principal a Herramientas > Operaciones > Replicación.
  • Seleccione Activar árbol
  • Ruta de inicio:
    • Vaya a /etc/socialconfig/srpc/
  • Seleccionar activar

Administración de datos de usuario

Para obtener información sobre usuarios, perfiles de usuarios y grupos de usuarios, que se especifican a menudo 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 la 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ñaPor ejemplo: admin:admin

data = "batchSize=size&path=path"

size = cuántas entradas de UGC 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 asipathpropiedad de
    /etc/socialconfig/srpc/defaultconfiguration
  • Para limitar el índice a algún UGC, especifique un subárbol de asipath

reindex-url = el 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 la consola de configuración de Almacenamiento o compruebe el repositorio de AEM:

  • En JCR, if /etc/socialconfig

    • No contiene un nodo srpc , significa que el proveedor de almacenamiento es JSRP.
    • Si el nodo srpc existe y contiene la configuración predeterminadadel nodo, las propiedades de configuración predeterminada 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 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 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: proveedor de campos no definido

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

JsonMappingException: field provider_id no definido

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 para instalar MLSestá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.

Falla la conexión segura con MongoDB

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