Show Menu
SUJETS×

MSRP - MongoDB fournisseur de ressources

A propos de MSRP

Lorsque les communautés AEM sont configurées pour utiliser MSRP comme magasin commun, le contenu généré par l’utilisateur (UGC) est accessible à partir de toutes les instances d’auteur et de publication sans avoir besoin de synchronisation ni de réplication.

Conditions requises

    • Version 2.6 ou ultérieure
    • Pas besoin de configurer les mongos ou le partage
    • Recommandez vivement l'utilisation d'un jeu de réplicas
    • Peut s’exécuter sur le même hôte qu’AEM ou à distance

MongoDB Configuration

Sélectionner MSRP

La console de configuration de de permet de sélectionner la configuration de par défaut, qui identifie l'implémentation de SRP à utiliser.
Sur l’auteur, pour accéder à la console de configuration du :
  • Dans la navigation globale, sélectionnez Outils > Communautés > configuration .
  • Select MongoDB Storage Resource Provider (MSRP)
  • Configuration de mongoDB
    • URI de mongoDB
      default : mongodb://localhost/?maxPoolSize=10&waitQueueMultiple=5&readPreference=secondaryPreferred
    • Base de données mongoDB
      default : communautés
    • Collection UGC mongoDB
      default : contenu
    • Collection de pièces jointes mongoDB
      default : pièces jointes
  • SolrConfiguration
    • Lors de l’exécution en mode Mode SolrCloud SolrCloud avec un ZooKeeper externe, définissez cette valeur sur HOST:PORT pour le ZooKeeper, par exemple my.server.com:2181.
      Pour un ensemble ZooKeeper, saisissez HOST:PORT des valeurs séparées par des virgules, telles que host1:2181,host2:2181.
      Laissez ce champ vide si vous exécutez Solr en mode autonome à l’aide de ZooKeeper interne. Valeur par défaut : <blank>
      • URL ​solaire URL utilisée pour communiquer avec Solr en mode autonome. Laissez ce champ vide si vous êtes en mode SolrCloud. Valeur par défaut : https://127.0.0.1:8983/solr/
      • Collection ​Solr Nom de la collection Solr.
        Valeur par défaut : collection1
  • Sélectionnez Envoyer
La base de données mongoDB, qui prend par défaut le nom communities , ne doit pas être définie sur le nom d’une base de données utilisée pour les magasins de noeuds ou les magasins de données (binaires). Reportez-vous également à la page Eléments dans AEM 6.5 .

Jeu de réplicas MongoDB

Pour le de production , il est vivement recommandé de configurer un jeu de réplicas, un cluster de serveurs MongoDB qui implémente la réplication maître-esclave et le basculement automatisé.
Pour en savoir plus sur les jeux de réplicas, consultez la documentation de réplication de MongoDB.
Pour travailler avec des jeux de réplicas et apprendre à définir des connexions entre des applications et des instances MongoDB, consultez la documentation Connection String URI Format .

Exemple d’URL pour la connexion à un jeu 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

Configuration de Solr

Une installation Solr peut être partagée entre le magasin de noeuds (Oak) et le magasin commun (MSRP) à l’aide de différentes collections.
Si les collections Oak et MSRP sont utilisées de manière intensive, un second Solr peut être installé pour des raisons de performances.
Pour les de production , le mode Mode SolrCloud SolrCloud offre des performances améliorées par rapport au mode autonome (une configuration Solr locale unique).
Pour plus d’informations sur la configuration, voir Configuration Solr pour SRP .

Mise à niveau

Si une mise à niveau à partir d’une version antérieure configurée avec MSRP, vous devez effectuer les opérations suivantes :
  1. Installation de nouveaux fichiers de configuration Solr
  2. Réindexer l'outil de réindexation MSRP de la section MSRP

Publication de la configuration

MSRP doit être identifié comme le magasin commun sur toutes les instances d’auteur et de publication.
Pour rendre la configuration identique disponible dans le de publication , connectez-vous à votre instance d’auteur et procédez comme suit :
  • Dans le menu principal, sélectionnez Outils > Opérations > Réplication .
  • Sélectionner Activer l&#39;arborescence
  • Chemin de début :
    • Naviguer jusqu’à /etc/socialconfig/srpc/
  • Sélectionner Activer

Gestion des données utilisateur

Pour plus d’informations sur les utilisateurs , les des utilisateurs et les groupes d’ utilisateurs, souvent saisis dans le de publication, consultez la page

Outil Réindexation MSRP

Il existe un point de terminaison HTTP pour la réindexation de Solr pour MSRP lors de l’installation de nouveaux fichiers de configuration ou de la réparation d’un index Solr endommagé.
Avec cet outil, MongoDB est la source de vérité pour MSRP ; les sauvegardes ne doivent être effectuées que sur MongoDB.
L'arborescence UGC entière peut être réindexée, ou seulement une sous-arborescence spécifique, comme spécifié par le paramètre *path *data.
Cet outil peut être exécuté à partir de la ligne de commande à l’aide de cURL ou de tout autre outil HTTP.
Lors de la réindexation, il existe un compromis entre la mémoire et les performances contrôlées par le paramètre de données *batchSize *qui spécifie le nombre d’enregistrements UGC réindexés par lot.
Une valeur par défaut raisonnable est 5000 :
  • Si la mémoire est un problème, spécifiez un nombre plus petit.
  • Si la vitesse est un problème, spécifiez un nombre plus élevé pour augmenter la vitesse.

Exécution de l’outil de réindexation MSRP à l’aide de la commande cURL

La commande cURL suivante montre ce qui est nécessaire pour qu’une requête HTTP puisse réindexer l’UGC stockée dans MSRP.
Le format de base est le suivant :
cURL -u connexion -d données reindex-url
signature = administrator-id:passwordPar exemple : admin:admin
data = "batchSize= size &path= path"
size = nombre d’entrées UGC à réindexer par opération /content/usergenerated/asi/mongo/
chemin = emplacement racine de l’arborescence de l’UGC à réindexer
  • Pour réindexer tout UGC, spécifiez la valeur de la asipath propriété de /etc/socialconfig/srpc/defaultconfiguration
  • Pour limiter l’index à un élément UGC, spécifiez une sous-arborescence de asipath
reindex-url = point de terminaison de la réindexation de SRP http://localhost:4503/services/social/datastore/mongo/reindex
Si vous réindexez DSRP Solr , l’URL est /services/social/datastore/rdb/reindex.

Exemple de réindexation MSRP

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

Démonstration du protocole MSRP

Pour configurer MSRP pour une démonstration ou un de développement , reportez-vous à la section Procédure de configuration de MongoDB pour la démonstration .

Résolution des incidents

UGC invisible dans MongoDB

Assurez-vous que MSRP a été configuré comme fournisseur par défaut en vérifiant la configuration de l’option de de . Par défaut, le fournisseur de ressources est JSRP.
Sur toutes les instances d’AEM de création et de publication, consultez de nouveau la console Configuration du stockage de configuration ou vérifiez le référentiel AEM :
  • Dans JCR, if /etc/socialconfig
    • Ne contient pas de noeud srpc , cela signifie que le fournisseur de de est JSRP.
    • Si le noeud srpc existe et contient la configuration par défaut du noeud, les propriétés de la configuration par défaut doivent définir MSRP comme fournisseur par défaut.

UGC disparaît après la mise à niveau

Si une mise à niveau à partir d’un site AEM Communities 6.0 existant, tout fichier UGC préexistant doit être converti en fonction de la structure requise pour l’API SRP après la mise à niveau vers AEM Communities 6.3.
Un outil open source est disponible sur GitHub à cette fin :
L’outil de migration peut être personnalisé pour exporter l’UGC des versions antérieures des communautés sociales AEM en vue de l’importer dans les communautés AEM 6.1 ou une version ultérieure.

Erreur - champ non défini provider_id

Si l’erreur suivante est affichée dans les journaux, cela indique que le fichier Solr n’est pas correctement configuré.

JsonMappingException : provider_id de champ non défini

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

Pour résoudre l’erreur, suivez les instructions d’ installation de Standard MLS et assurez-vous que :
  • Les fichiers de configuration XML ont été copiés à l’emplacement Solr approprié.
  • Solr a été redémarré après que les nouveaux fichiers de configuration ont remplacé les fichiers existants.

Échec de la connexion sécurisée à MongoDB

Si une tentative d’établissement d’une connexion sécurisée au serveur MongoDB échoue en raison d’une définition de classe manquante, il est nécessaire de mettre à jour le lot de pilotes MongoDB, mongo-java-driver , disponible à partir du référentiel Maven public.
  1. Téléchargez le pilote à partir de https://search.maven.org/#artifactdetails%7Corg.mongodb%7Cmongo-java-driver%7C2.13.2%7Cjar (version 2.13.2 ou ultérieure).
  2. Copiez le lot dans le dossier "crx-quickstart/install" pour une instance AEM.
  3. Redémarrez l’instance AEM.