MSRP - MongoDB Storage Resource Provider

Over MSRP

Wanneer AEM Communities wordt gevormd om MSRP als zijn gemeenschappelijke opslag te gebruiken, is de gebruiker geproduceerde inhoud (UGC) toegankelijk van alle auteur en publiceer instanties zonder de behoefte aan synchronisatie of replicatie.

Zie ook Kenmerken van SRP Options en Recommended Topologies.

Vereisten

MongoDB-configuratie

Selecteer MSRP

Met de Opslagconfiguratieconsole kunt u de standaardopslagconfiguratie selecteren, die aangeeft welke implementatie van SRP moet worden gebruikt.

Op auteur, om tot de console van de Configuratie van de Opslag toegang te hebben:

  • Vanuit globale navigatie: Tools > Communities > Storage Configuration

chlimage_1-28

  • Selecteer MongoDB Storage Resource Provider (MSRP)

  • mongoDB Configuration

    • mongoDB URI

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

    • mongoDB Database

      standaard: gemeenschappen

    • mongoDB UGC Collection

      standaard: content

    • mongoDB Attachment Collection

      standaard: bijlagen

  • SolrConfiguration

    • 🔗 ZookeeperHost

      Wanneer het lopen op wijze SolrCloud met een externe ZooKeeper, plaats deze waarde aan HOST:PORT voor ZooKeeper, zoals my.server.com:2181
      Voer voor een ZooKeeper Ensemble door komma's gescheiden HOST:PORT waarden in, zoals host1:2181,host2:2181
      Laat leeg als Solr in zelfstandige modus wordt uitgevoerd met de interne ZooKeeper.
      Standaard: <blank>

    • Solr URL
      De URL die wordt gebruikt om te communiceren met Solr in zelfstandige modus.
      Leeg laten als deze wordt uitgevoerd in de SolrCloud-modus.

      Standaard: https://127.0.0.1:8983/solr/

    • Solr Collection
      De naam van de Solr-verzameling.

      Standaard: verzameling1

  • Selecteer Submit

OPMERKING

De database mongoDB, die standaard de naam communities krijgt, mag niet worden ingesteld op de naam van een database die wordt gebruikt voor knoopopslag of gegevens (binair) winkels. Zie ook Opslagelementen in AEM 6.

MongoDB Replica-set

Voor het productiemilieu, wordt het sterk geadviseerd om een replicaset, een cluster van servers te installeren MongoDB die primaire-secundaire replicatie en geautomatiseerde failover uitvoert.

Voor meer informatie over replicasets gaat u naar de Replication-documentatie van MongoDB.

Als u met replicasets wilt werken en wilt leren hoe u verbindingen tussen toepassingen en MongoDB-instanties kunt definiëren, raadpleegt u de documentatie van MongoDB Verbindingsreeks URI Format.

Voorbeeld-URL voor verbinding maken met een replicaset

# 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

Solr-configuratie

Een installatie Solr kan tussen de knoopopslag (Eak) en gemeenschappelijke opslag (MSRP) worden gedeeld door verschillende inzamelingen te gebruiken.

Als zowel de Oak als de inzamelingen MSRP intensief worden gebruikt, kan tweede Solr om prestatiesredenen worden geïnstalleerd.

Voor productieomgevingen biedt de SolrCloud-modus betere prestaties in vergelijking met de standalone modus (één lokale Solr-instelling).

Voor configuratiedetails, zie Solr Configuratie voor SRP.

Bijwerken

Als bevordering van een vroegere die versie met MSRP wordt gevormd, zal het noodzakelijk zijn

  1. upgrade uitvoeren naar AEM Communities
  2. Nieuwe Solr-configuratiebestanden installeren
  3. MSRP opnieuw indexeren
    Zie sectie MSRP Reindex Tool

De configuratie publiceren

MSRP moet als gemeenschappelijke opslag op alle auteur worden geïdentificeerd en instanties publiceren.

De identieke configuratie beschikbaar stellen in de publicatieomgeving:

  • Op auteur:
    • Navigeer van hoofdmenu aan Tools > Operations > Replication
    • Selecteer Activate Tree
    • Start Path:
      • Bladeren naar /etc/socialconfig/srpc/
    • Selecteer Activate

Gebruikersgegevens beheren

Voor informatie over gebruikers, gebruikersprofielen en gebruikersgroepen, vaak ingevoerd in de publicatieomgeving, gaat u naar

MSRP opnieuw indexeren

Er is een eindpunt van HTTP voor het opnieuw indexeren van Solr voor MSRP wanneer het installeren van nieuwe configuratiedossiers of het herstellen van een beschadigde index van Solr.

Met dit hulpmiddel, is MongoDB de bron van waarheid voor MSRP; Er hoeven alleen back-ups van MongoDB te worden gemaakt.

De volledige UGC-structuur kan opnieuw worden gedecodeerd, of alleen een specifieke substructuur, zoals opgegeven door de parameter *path *data.

Dit gereedschap kan vanaf de opdrachtregel worden uitgevoerd met cURL of een ander HTTP-gereedschap.

Wanneer het opnieuw indexeren, is er een compensatie tussen geheugen en prestaties die door de *batchSize *data parameter worden gecontroleerd, die specificeert hoeveel UGC- verslagen per partij opnieuw worden gedesdexeerd.

Een redelijke standaardwaarde is 5000:

  • Als het geheugen een probleem is, geeft u een kleiner getal op
  • Als snelheid een probleem is, geeft u een groter getal op om de snelheid te verhogen

Gereedschap MSRP opnieuw indexeren uitvoeren met cURL-opdracht

Het volgende cURL bevel toont wat noodzakelijk voor een HTTP- verzoek is om UGC te herindexeren die in MSRP wordt opgeslagen.

De basisindeling is:

cURL -u signin -d data rendex-url

sign = administrator-id:password
Bijvoorbeeld: admin:admin

data = "batchSize=size&path=path"

size = hoeveel UGC-items opnieuw moeten worden geindexeerd per bewerking
/content/usergenerated/asi/mongo/

path = de hoofdlocatie van de boomstructuur van UGC naar opnieuw indexeren

  • Als u alle UGC opnieuw wilt indexeren, geeft u de waarde op van de eigenschap asipathvan
    /etc/socialconfig/srpc/defaultconfiguration
  • Als u de index wilt beperken tot UGC, geeft u een substructuur op van asipath

redex-url = het eindpunt voor herindexering van SRP
http://localhost:4503/services/social/datastore/mongo/reindex

OPMERKING

Als u opnieuw indexeert DSRP Solr bent, is URL /services/social/datastore/rdb/reindex

Voorbeeld van MSRP-reindex

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

Hoe te om MSRP te demo

Om MSRP voor een demonstratie of ontwikkelomgeving te plaatsen, zie HowTo Opstelling MongoDB voor Demo.

Problemen oplossen

UGC niet zichtbaar in MongoDB

Zorg ervoor MSRP is gevormd om de standaardleverancier te zijn door de configuratie van de opslagoptie te controleren. Standaard is de leverancier van de opslagbron JSRP.

Op alle auteur en publiceer AEM instanties, herzie de console van de Configuratie van de Opslag of controleer de AEM bewaarplaats:

  • In JCR, als /etc/socialconfig

    • Bevat geen srpc-knooppunt, het betekent dat de opslagprovider JSRP is
    • Als de srpc knoop bestaat en knoop default configuration bevat, zouden de eigenschappen van de standaardconfiguratie MSRP moeten bepalen om de standaardleverancier te zijn

UGC verdwijnt na upgrade

Als u een upgrade uitvoert vanaf een bestaande AEM Communities 6.0-site, moet een bestaande UGC worden omgezet om te voldoen aan de vereiste structuur voor de SRP-API na een upgrade naar AEM Communities 6.3.

Er is een open bronhulpmiddel beschikbaar op GitHub voor dit doel:

Het migratiehulpmiddel kan worden aangepast om UGC uit vroegere versies van AEM sociale gemeenschappen voor invoer in AEM Communities 6.1 of later uit te voeren.

Fout: niet-gedefinieerde veldprovider_id

Als de volgende fout in de logboeken wordt gezien, wijst het erop het Solr schemadossier niet behoorlijk wordt gevormd.

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

Om de fout op te lossen, wanneer het volgen van de instructies voor Installing Standard MLS, zorg ervoor

  • De de configuratiedossiers van XML werden gekopieerd aan de correcte Solr plaats
  • Solr werd opnieuw begonnen nadat de nieuwe configuratiedossiers bestaande degenen vervingen

Beveiligde verbinding met MongoDB mislukt

Als een poging om een beveiligde verbinding te maken met de MongoDB-server mislukt als gevolg van een ontbrekende klassedefinitie, moet de MongoDB-stuurprogrammabundel, mongo-java-driver, worden bijgewerkt, die beschikbaar is in de openbaar gemaakte opslagplaats.

  1. Download het stuurprogramma van https://search.maven.org/#artifactdetails%7Corg.mongodb%7Cmongo-java-driver%7C2.13.2%7Cjar (versie 2.13.2 of hoger)
  2. Kopieer de bundel naar de map "crx-quickstart/install" voor een AEM-instantie
  3. De AEM opnieuw starten

Bronnen

Op deze pagina