Show Menu
THEMEN×

MSRP - MongoDB Datenspeicherung 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 Datenspeicherung Configuration Console ermöglicht die Auswahl der Standardkonfiguration der Datenspeicherung, die festlegt, welche SRP-Implementierung verwendet werden soll.
Wenn Sie Autor sind, können Sie auf die Datenspeicherung Configuration Console zugreifen:
  • Wählen Sie in der globalen Navigation Tools > Communities > Datenspeicherung Configuration .
  • 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 auf den Wert HOST:PORT für den ZooKeeper, z. B. my.server.com:2181, fest
      Geben Sie für ein ZooKeeper-Ensemble kommagetrennte HOST:PORT Werte ein, z. B. Host1:2181,Host2:2181
      Lassen Sie beim Ausführen von Solr im eigenständigen Modus mit dem internen ZooKeeper leer. 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 Datenspeicherung-Elemente in AEM 6.5 .

MongoDB Replica-Set

Für die Umgebung der Produktion wird dringend empfohlen, einen Replikationssatz, 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 unter Verwendung 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.
Für Produktionsfunktionen bietet der SolrCloud-Modus eine verbesserte Leistung im Vergleich zum 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. Neuindizieren von MSRPSee Abschnitt MSRP Reindex Tool

Veröffentlichen der Konfiguration

MSRP muss in allen Autoren- und Veröffentlichungsinstanzen als gemeinsamer Speicher identifiziert werden.
Um die gleiche Konfiguration in der Umgebung "Veröffentlichen"verfügbar zu machen, melden Sie sich bei Ihrer Autoreninstanz an und führen Sie die folgenden Schritte aus:
  • 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 , Profilen und Benutzergruppen , die häufig in der Umgebung zur Veröffentlichung 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 der Speicher ein Problem darstellt, 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:passwordBeispiel: 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

So zeigen Sie MSRP an

Informationen zum Einrichten von MSRP für eine Demo- oder Entwicklungs-Umgebung 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 Konfigurationsoption der Datenspeicherung überprüfen. Standardmäßig ist der Datenspeicherung Resource Provider JSRP.
Gehen Sie bei allen Autoren- und Veröffentlichungsinstanzen von AEM erneut zur Datenspeicherung Configuration Console oder überprüfen Sie das AEM-Repository:
    • Enthält keinen srpc -Knoten, bedeutet dies, dass der Datenspeicherung-Provider JSRP ist.
    • Wenn der srpc-Knoten vorhanden ist und 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-Schema-Datei 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, stellen Sie bei Befolgen der Anweisungen zur Installation von Standard MLS sicher:
  • 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 (Version 2.13.2 oder höher) herunter.
  2. Kopieren Sie das Bundle in den Ordner "crx-quickstart/install"für eine AEM-Instanz.
  3. Starten Sie die AEM-Instanz neu.