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 eine Synchronisierung oder Replikation erforderlich ist.

Siehe auch Eigenschaften der SRP-Optionen und der empfohlenen Topologien.

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:

  • Aus globaler Navigation: Extras > Communities > Datenspeicherung-Konfiguration

chlimage_1-28

  • 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

    • Zookeeper-Host

      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

Hinweis

Die mongoDB-Datenbank, die standardmäßig den Namen verwendet, communitiessollte nicht auf den Namen einer Datenbank eingestellt werden, die für Knotenspeicher oder Datenspeicher (binäre) verwendet wird. Siehe auch Datenspeicherung in AEM 6.

MongoDB-Replikat-Set

Für die Umgebung der Produktion wird dringend empfohlen, einen Replikationssatz, einen Cluster aus MongoDB-Servern einzurichten, der die primäre und sekundäre 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 Replikat-Set

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

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. Führen Sie das Upgrade auf AEM Communities durch
  2. Neue Solr-Konfigurationsdateien installieren
  3. Neuindizieren von 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 gleiche Konfiguration in der Umgebung "Veröffentlichen"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, 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

signin = 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 asipathEigenschaft
    /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

Hinweis

Wenn Sie DSRP Solr 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.

Rufen Sie auf allen Instanzen im Autorenmodus AEM Veröffentlichungsmodus erneut die Datenspeicherung Configuration Console auf oder überprüfen Sie das AEM Repository:

  • In JCR, if /etc/socialconfig

    • Enthält keinen srpc -Knoten, d. h., der Datenspeicherung-Provider ist JSRP
    • Wenn der Knoten srpc vorhanden ist und die Node- Standardkonfigurationenthält, sollten die Eigenschaften der Standardkonfiguration MSRP als Standardanbieter definieren

UGC wird nach der Aktualisierung ausgeblendet

Bei der Aktualisierung von einer bestehenden AEM Communities 6.0-Site müssen alle bereits vorhandenen UGC konvertiert werden, um der für die SRP -API erforderlichen Struktur zu entsprechen, 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 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, müssen Sie bei Befolgen der Anweisungen zur Installation von Standard MLSsicherstellen, 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-driverist.

  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

Ressourcen

Auf dieser Seite