Show Menu
THEMEN×

MSRP - MongoDB Storage Resource Provider

Über MSRP

Wenn AEM Communities so konfiguriert ist, dass MSRP als gemeinsamer Speicher verwendet wird, können vom Benutzer generierte Inhalte (UGC) von allen Autor- und Veröffentlichungsinstanzen aus aufgerufen werden, ohne dass Synchronisierung oder Replikation erforderlich ist.

Voraussetzungen

MongoDB Configuration

MSRP auswählen

Die Speicherkonfigurationskonsole ermöglicht die Auswahl der standardmäßigen Speicherkonfiguration, die festlegt, welche SRP-Implementierung verwendet werden soll.
Auf Autor zugreifen, um die Speicherkonfigurationskonsole aufzurufen:
  • Aus globaler Navigation: Werkzeuge > Communities > Speicherkonfiguration
  • Select MongoDB Storage Resource Provider (MSRP)
  • mongoDB-Konfiguration
    • mongoDB-URI
      Standard : mongodb://localhost/?maxPoolSize=10&waitQueueMultiple=5&readPreference=secondaryPreferred
    • mongoDB-Datenbank
      Standard : Communities
    • mongoDB-UGC-Sammlung
      Standard :content
    • mongoDB-Anlagensammlung
      Standard : Anlagen
  • SolrConfiguration
    • Wenn Sie im SolrCloud-Modus mit einem externen ZooKeeper ausgeführt werden, legen Sie diesen Wert HOST:PORT für den ZooKeeper fest, z. B. my.server.com:2181 Für ein ZooKeeper-Ensemble, geben Sie durch Kommas getrennte HOST:PORT Werte wie host1:2181,host2:2181181 ein Bei Verwendung von Solr im eigenständigen Modus mit dem internen ZooKeeper leer lassen. Standard : <blank>
    • Solr-URL ​Die URL, die für die Kommunikation mit Solr im eigenständigen Modus verwendet wird. Lassen Sie beim Ausführen im SolrCloud-Modus leer. Standard : https://127.0.0.1:8983/solr/
    • Solr-Sammlung Der Name der Solr-Sammlung.\
      Standard : collection1
  • Klicken Sie auf Übermitteln
Die mongoDB-Datenbank, die standardmäßig den Namen verwendet, communities sollte nicht auf den Namen einer Datenbank eingestellt werden, die für Knotenspeicher oder Datenspeicher (binäre) verwendet wird . Siehe auch Speicherelemente in AEM 6 .

MongoDB Replica-Set

Für die Produktionsumgebung wird dringend empfohlen, einen Replik-Satz, einen Cluster aus MongoDB-Servern, einzurichten, der Master-Slave-Replikation und automatisiertes Failover implementiert.
Weitere Informationen zu Replikationssets finden Sie in der MongoDB- Replikationsdokumentation .
Informationen zum Arbeiten mit Replikationssets und zum Definieren von Verbindungen zwischen Anwendungen und MongoDB-Instanzen finden Sie in der Dokumentation zu MongoDB Connection String URI Format .

Beispiel-URL zum Herstellen einer Verbindung zu einem Repliksatz

# 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-Konfiguration

Eine Solr-Installation kann mithilfe verschiedener Sammlungen zwischen dem Node Store (Oak) und dem Common Store (MSRP) freigegeben werden.
Wenn sowohl die Oak- als auch die MSRP-Kollektionen intensiv verwendet werden, kann aus Leistungsgründen ein zweiter Solr installiert werden.
In Produktionsumgebungen bietet der SolrCloud-Modus eine verbesserte Leistung im Standalone-Modus (ein einzelnes, lokales Solr-Setup).
Weitere Informationen zur Konfiguration finden Sie unter Solr-Konfiguration für SRP .

Aktualisieren

Wenn Sie von einer früheren Version aktualisieren, die mit MSRP konfiguriert wurde, müssen Sie
  1. Neue Solr-Konfigurationsdateien installieren
  2. Reindex MSRPSee Abschnitt MSRP Reindex Tool

Veröffentlichen der Konfiguration

MSRP muss in allen Autoren- und Veröffentlichungsinstanzen als gemeinsamer Speicher identifiziert werden.
So stellen Sie die identische Konfiguration in der Veröffentlichungsumgebung zur Verfügung:
  • Beim Autor:
    • Navigieren Sie vom Hauptmenü zu Tools > Vorgänge > Replikation
    • Baumstruktur aktivieren
    • Startpfad :
      • Navigieren zu /etc/socialconfig/srpc/
    • Aktivieren auswählen

Verwalten von Benutzerdaten

Informationen zu Benutzern , Benutzerprofilen und Benutzergruppen , die häufig in der Veröffentlichungsumgebung eingegeben werden, finden Sie unter

MSRP Reindex Tool

Es gibt einen HTTP-Endpunkt zum erneuten Dekodieren von Solr für MSRP, wenn neue Konfigurationsdateien installiert oder ein beschädigter Solr-Index repariert werden.
Mit diesem Tool ist MongoDB die Quelle der Wahrheit für MSRP. Backups müssen nur von MongoDB durchgeführt werden.
Der gesamte UGC-Baum kann neu definiert werden, oder nur ein bestimmter Unterbaum, wie im *path *data-Parameter angegeben.
Dieses Tool kann über die Befehlszeile mit cURL oder einem anderen HTTP-Tool ausgeführt werden.
Bei der Neudezierung gibt es einen Kompromiss zwischen Speicher und Leistung, der durch den *batchSize *data-Parameter gesteuert wird, der angibt, wie viele UGC-Datensätze pro Stapel neu deklariert werden.
Ein angemessener Standardwert ist 5000:
  • Wenn Speicher ein Problem ist, geben Sie eine kleinere Zahl an
  • Wenn die Geschwindigkeit ein Problem ist, geben Sie eine größere Zahl an, um die Geschwindigkeit zu erhöhen

Ausführen des MSRP-Reindex-Tools mit dem cURL-Befehl

Der folgende cURL-Befehl zeigt, was für eine HTTP-Anforderung erforderlich ist, um UGC neu zu indizieren, die in MSRP gespeichert ist.
Das Basisformat lautet:
cURL -u signin -d data reindex-url
sign = administrator-id:password Beispiel: admin:admin
data = "batchSize= size &path= path"
size = wie viele UGC-Einträge pro Operation neu indiziert werden /content/usergenerated/asi/mongo/
path = die Stammposition des Baums von UGC zu reindex
  • Um alle UGC neu zu indizieren, geben Sie den Wert der asipath Eigenschaft /etc/socialconfig/srpc/defaultconfiguration
  • Um den Index auf einige UGC zu beschränken, geben Sie eine Unterstruktur von asipath
reindex-url = Endpunkt für die Wiederdezierung von SRP http://localhost:4503/services/social/datastore/mongo/reindex
Wenn Sie DSRP Solr DSRP - Ressourcenanbieter für den relationalen Datenbankspeicher neu deklarieren, lautet die URL /services/social/datastore/rdb/reindex

MSRP Reindex-Beispiel

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

Demo MSRP

Informationen zum Einrichten von MSRP für eine Demonstrations- oder Entwicklungsumgebung finden Sie unter Einrichten von MongoDB für Demo .

Fehlerbehebung

UGC in MongoDB nicht sichtbar

Vergewissern Sie sich, dass MSRP als Standardanbieter konfiguriert wurde, indem Sie die Konfiguration der Speicheroption überprüfen. Der Speicherressourcenanbieter ist standardmäßig JSRP.
Gehen Sie bei allen Autoren- und Veröffentlichungsinstanzen von AEM erneut zur Speicherkonfigurationskonsole oder überprüfen Sie das AEM-Repository:
    • Enthält keinen srpc -Knoten, d. h. der Speicheranbieter ist JSRP
    • Wenn der Knoten srpc vorhanden ist und die Node- Standardkonfiguration enthält, sollten die Eigenschaften der Standardkonfiguration MSRP als Standardanbieter definieren

UGC wird nach der Aktualisierung ausgeblendet

Beim Aktualisieren von einer vorhandenen AEM Communities 6.0-Site müssen alle bereits vorhandenen UGC entsprechend der für die SRP -API erforderlichen Struktur konvertiert werden, nachdem auf AEM Communities 6.3 aktualisiert wurde.
Zu diesem Zweck steht auf GitHub ein Open-Source-Tool zur Verfügung:
Das Migrationswerkzeug kann angepasst werden, um UGC aus früheren Versionen von AEM Social Communities für den Import in AEM Communities 6.1 oder höher zu exportieren.

Fehler - nicht definiertes Feld provider_id

Wenn der folgende Fehler in den Protokollen angezeigt wird, deutet dies darauf hin, dass die SOR-Schemadatei nicht richtig konfiguriert ist.

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

Um den Fehler zu beheben, müssen Sie bei Befolgen der Anweisungen zur Installation von Standard MLS sicherstellen, dass
  • Die XML-Konfigurationsdateien wurden in den richtigen Speicherort für Solr kopiert.
  • Solr wurde neu gestartet, nachdem die neuen Konfigurationsdateien die vorhandenen ersetzt haben

Sichere Verbindung zu MongoDB fehlgeschlagen

Wenn ein Versuch, eine gesicherte Verbindung zum MongoDB-Server herzustellen aufgrund einer fehlenden Klassendefinition fehlschlägt, ist es notwendig, das MongoDB-Treiberpaket zu aktualisieren, das über das öffentliche Repository verfügbar mongo-java-driver ist.
  1. Laden Sie den Treiber von https://search.maven.org/#artifactdetails%7Corg.mongodb%7Cmongo-java-driver%7C2.13.2%7Cjar herunter (Version 2.13.2 oder höher)
  2. Kopieren Sie das Bundle in den Ordner "crx-quickstart/install"für eine AEM-Instanz
  3. Starten Sie die AEM-Instanz neu