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 Empfohlene Topologien.

Voraussetzungen

MongoDB-Konfiguration

Wählen Sie MSRP

Die Datenspeicherung Configuration Console ermöglicht die Auswahl der Standardkonfiguration der Datenspeicherung, die die zu verwendende Implementierung von SRP identifiziert.

Wenn Sie Autor sind, können Sie auf die Datenspeicherung Configuration Console zugreifen:

  • Wählen Sie in der globalen Navigation Tools > Communities > Datenspeicherung Configuration.

msrp

  • Wählen Sie MongoDB Datenspeicherung 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, stellen Sie diesen Wert für den ZooKeeper auf HOST:PORT ein, z. B. my.server.com:2181

      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
        URLTdie 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-
        SammlungDer Name der Solr-Sammlung.

        Standard: collection1

  • Klicken Sie auf Übermitteln

HINWEIS

Die mongoDB-Datenbank, die standardmäßig den Namen communities verwendet, sollte nicht auf den Namen einer Datenbank eingestellt werden, die für Knotenspeicher oder Datenspeicher (Binärspeicher) verwendet wird. Siehe auch Datenspeicherung Elemente in AEM 6.5.

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-Dokumentation Replication.

Informationen zum Arbeiten mit Replikationssets und zum Definieren von Verbindungen zwischen Anwendungen und MongoDB-Instanzen finden Sie in der Dokumentation zu MongoDB Verbindungszeichenfolgen-URI-Format.

Beispiel-URL für die Verbindung mit 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.

Bei Produktions-Umgebung bietet 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. Führen Sie das Upgrade auf AEM Communities durch
  2. Neue Solr-Konfigurationsdateien installieren
  3. Reindex MSRP
    Siehe 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.
  • Wählen Sie Baum aktivieren
  • Startpfad:
    • Gehen Sie zu /etc/socialconfig/srpc/
  • Wählen Sie Aktivieren

Verwalten von Benutzerdaten

Informationen zu Benutzergruppen, Benutzergruppen und die häufig in die Umgebung "Veröffentlichen"eingegeben wurden, 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 von true 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 Anmelden -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 asipathEigenschaft von
    /etc/socialconfig/srpc/defaultconfiguration
  • Um den Index auf einige UGC zu beschränken, geben Sie eine Unterstruktur von asipath an

reindex-url = Endpunkt für die Wiederverwendung von SRP
http://localhost:4503/services/social/datastore/mongo/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 von MSRP

Informationen zum Einrichten von MSRP für eine Demo- oder Development-Umgebung finden Sie unter Wie Sie MongoDB für Demo einrichten.

Fehlerbehebung

UGC nicht sichtbar in MongoDB

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 Autoren- und Veröffentlichungsmodus AEM Datenspeicherung Configuration Console erneut auf oder überprüfen Sie das AEM Repository:

  • In JCR, wenn /etc/socialconfig

    • Enthält keinen srpc-Knoten, bedeutet dies, dass der Datenspeicherung-Provider JSRP ist.
    • Wenn der Knoten srpc vorhanden ist und den Knoten defaultConfiguration enthält, sollten die Eigenschaften der Standardkonfiguration MSRP als Standardanbieter definieren.

UGC verschwindet nach der Aktualisierung

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 nach der Aktualisierung auf AEM Communities 6.3 erforderlichen Struktur zu entsprechen.

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 - undefiniertes 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 Folgendes sicher, wenn Sie die Anweisungen für Installieren von Standard MLS befolgen:

  • 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 fehlschlägt

Wenn ein Versuch, eine gesicherte Verbindung zum MongoDB-Server herzustellen aufgrund einer fehlenden Klassendefinition fehlschlägt, ist es notwendig, das MongoDB-Treiberpaket mongo-java-driver zu aktualisieren, das im öffentlichen Repository verfügbar 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 für eine AEM Instanz in den Ordner "crx-quickstart/install".
  3. Starten Sie die AEM-Instanz neu.

Ressourcen

Auf dieser Seite

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free