MSRP - MongoDB Storage Resource Provider msrp-mongodb-storage-resource-provider
Über MSRP about-msrp
Wenn AEM Communities für die Verwendung von MSRP als gemeinsamen Speicher konfiguriert ist, können Sie von allen Autoren- und Veröffentlichungsinstanzen auf benutzergenerierte Inhalte zugreifen, ohne dass eine Synchronisierung oder Replikation erforderlich ist.
Siehe auch Merkmale von SRP-Optionen und Empfohlene Topologien.
Voraussetzungen requirements
-
- Version 2.6 oder höher
- Keine Notwendigkeit, Mongos oder Freigabe zu konfigurieren
- Es wird dringend empfohlen, einen Replikatsatz“ zu
- Kann auf demselben Host wie AEM oder remote ausgeführt werden
-
-
Solr-Version 7.0
-
Solr erfordert Java 1.7 oder höher
-
Es ist kein Service erforderlich
-
Auswahl der Ausführungsmodi:
- Eigenständiger Modus
- SolrCloud-Modus (für Produktionsumgebungen empfohlen)
-
Auswahl an mehrsprachiger Suche (MLS):
-
MongoDB-Konfiguration mongodb-configuration
MSRP auswählen select-msrp
Die Speicherkonfigurationskonsole ermöglicht die Auswahl der standardmäßigen -Speicherkonfiguration, die angibt, welche Implementierung von SRP verwendet werden soll.
So greifen Sie auf der Autoreninstanz auf die Speicherkonfigurationskonsole zu:
- Wählen Sie in der globalen Navigation Tools > Communities > Speicherkonfiguration.
-
Wählen Sie MongoDB Storage Resource Provider (MSRP)
-
mongoDB-Konfiguration
-
mongoDB-URI
default: mongodb://localhost/?maxPoolSize=10&waitQueueMultiple=5&readPreference=secondaryPreferred
-
mongoDB-Datenbank
Standard: Communities
-
mongoDB UGC-Sammlung
default: content
-
mongoDB-Anlagensammlung
Standard: Anlagen
-
-
SolrConfiguration
-
ZooKeeper Host
Wenn Sie im SolrCloud-Modus mit einem externen ZooKeeper ausführen, setzen Sie diesen Wert auf den
HOST:PORT
für den ZooKeeper, z. B. my.server.com:2181Geben Sie für ein ZooKeeper-Ensemble durch Kommas getrennte
HOST:PORT
ein, z. B. host1:2181,host2:2181Leer lassen, wenn Solr im Einzelmodus mit dem internen ZooKeeper ausgeführt wird.
Standard: <blank>-
Solr-URL
Die URL, die für die Kommunikation mit Solr im eigenständigen Modus verwendet wird.
Leer lassen, wenn im SolrCloud-Modus ausgeführt wird.
Standard: https://127.0.0.1:8983/solr/ -
Solr-Sammlung
Der Solr-Sammlungsname.
Standard: collection1
-
-
-
Klicken Sie auf Übermitteln
communities
hat, sollte nicht auf den Namen einer Datenbank eingestellt werden, die für Knotenspeicher oder Datenspeicher (binäre) verwendet. Siehe auch Speicherelemente in AEM 6.5.MongoDB-Replikat mongodb-replica-set
Für die Produktionsumgebung wird dringend empfohlen, einen Replikationssatz einzurichten, einen Cluster von MongoDB-Servern, der die primäre und sekundäre Replikation und automatisiertes Failover implementiert.
Weitere Informationen zu Replikatsätzen finden Sie in der Dokumentation Replikation von MongoDB.
Informationen zum Arbeiten mit Replikatgruppen und zum Definieren von Verbindungen zwischen Anwendungen und MongoDB-Instanzen finden Sie in der Dokumentation Connection String URI Format von MongoDB.
Beispiel-URL für das Verbinden mit einem Replikat-Set example-url-for-connecting-to-a-replica-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 solr-configuration
Eine Solr-Installation kann mithilfe verschiedener Sammlungen zwischen dem Knotenspeicher (Oak) und dem allgemeinen Speicher (MSRP) gemeinsam genutzt werden.
Wenn sowohl die Oak- als auch die MSRP-Sammlung häufig verwendet werden, kann aus Leistungsgründen eine zweite Solr-Datei installiert werden.
In Produktionsumgebungen bietet SolrCloud-Modus eine verbesserte Leistung im Vergleich zum eigenständigen Modus (eine einzelne, lokale Solr-Einrichtung).
Weitere Informationen zur Konfiguration finden Sie unter Solr-Konfiguration für SRP.
Aktualisieren upgrading
Wenn Sie von einer früheren Version aktualisieren, die mit MSRP konfiguriert wurde, müssen Sie:
-
Führen Sie das Upgrade auf AEM Communities"
-
Installieren neuer Solr-Konfigurationsdateien
- Für Standard-MLS
- Für erweiterte MLS
-
MSRP neu indizieren
Siehe Abschnitt MSRP Reindex Tool
Veröffentlichen der Konfiguration publishing-the-configuration
MSRP muss auf allen Autoren- und Veröffentlichungsinstanzen als Common Store identifiziert werden.
Um die identische Konfiguration in der Veröffentlichungsumgebung 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:
- Navigieren zu
/etc/socialconfig/srpc/
- Navigieren zu
- Wählen Sie Aktivieren
Verwalten von Benutzerdaten managing-user-data
Informationen zu Benutzern, Benutzerprofilen und Benutzergruppen, die häufig in der Veröffentlichungsumgebung eingegeben werden, finden Sie unter
MSRP-Neuindizierungs-Tool msrp-reindex-tool
Es gibt einen HTTP-Endpunkt für die Neuindizierung von Solr für MSRP, wenn neue Konfigurationsdateien installiert oder ein beschädigter Solr-Index repariert wird.
Mit diesem Tool ist MongoDB die Quelle Wahrheit für MSRP. Sicherungen müssen nur von MongoDB durchgeführt werden.
Die gesamte Struktur des benutzergenerierten Inhalts kann neu indiziert werden oder nur eine bestimmte Unterstruktur, wie durch den Datenparameter path angegeben.
Dieses Tool kann über die Befehlszeile mit cURL oder einem anderen HTTP-Tool ausgeführt werden.
Bei der Neuindizierung gibt es einen Kompromiss zwischen Speicher und Leistung, der durch den Datenparameter „batchSize“ gesteuert wird, der angibt, wie viele UGC-Datensätze pro Batch neu indiziert werden.
Ein vernünftiger Standardwert ist 5000:
- Wenn der Speicher ein Problem darstellt, geben Sie eine kleinere Zahl an
- Wenn die Geschwindigkeit ein Problem darstellt, geben Sie eine größere Zahl an, um die Geschwindigkeit zu erhöhen
Ausführen des MSRP-Neuindizierungs-Tools mit dem cURL-Befehl running-msrp-reindex-tool-using-curl-command
Der folgende cURL-Befehl zeigt, was für eine HTTP-Anfrage zur Neuindizierung des in MSRP gespeicherten benutzergenerierten Inhalts erforderlich ist.
Das Grundformat lautet:
cURL -u signin -d data reindex-url
signin = Administrator-ID:password
Beispiel: admin:admin
data = „batchSize=size&path=path“
size = Anzahl der neu zu indizierenden benutzergenerierten Einträge pro Vorgang/content/usergenerated/asi/mongo/
path = der Stammspeicherort der neu zu indizierenden UGC-Baumstruktur
- Um alle benutzergenerierten Inhalte neu zu indizieren, geben Sie den Wert der Eigenschaft
asipath
von) an./etc/socialconfig/srpc/defaultconfiguration
- Um den Index auf einige benutzergenerierte Inhalte zu beschränken, geben Sie einen Unterbaum von
asipath
an
reindex-url = der Endpunkt für die Neuindizierung von SRPhttp://localhost:4503/services/social/datastore/mongo/reindex
Beispiel für MSRP-Neuindizierung msrp-reindex-example
curl -s -u admin:admin -d 'batchSize=10000&path=/content/usergenerated/asi/mongo/' http://localhost:4503/services/social/datastore/mongo/reindex
Demo von MSRP how-to-demo-msrp
Informationen zum Einrichten von MSRP für eine Demonstrations- oder Entwicklungsumgebung finden Sie unter Einrichten von MongoDB für Demo.
Fehlerbehebung troubleshooting
UGC in MongoDB nicht sichtbar ugc-not-visible-in-mongodb
Stellen Sie sicher, dass MSRP als Standardanbieter konfiguriert wurde, indem Sie die Konfiguration der Speicheroption überprüfen. Standardmäßig ist der Speicherressourcenanbieter JSRP.
Rufen Sie auf allen Autoren- und Veröffentlichungs-AEM-Instanzen die Speicherkonfigurationskonsole“ erneut aufüberprüfen Sie das AEM-Repository:
-
In JCR, wenn /etc/socialconfig
- Enthält keinen srpc-Knoten. Dies bedeutet, dass der Speicheranbieter JSRP ist.
- Wenn der srpc-Knoten vorhanden ist und den Knoten defaultConfiguration enthält, sollten die Eigenschaften der defaultConfiguration festlegen, dass MSRP der Standardanbieter ist.
UGC verschwindet nach dem Upgrade ugc-disappears-after-upgrade
Bei einem Upgrade von einer bestehenden AEM Communities 6.0-Site müssen alle bereits vorhandenen benutzergenerierten Inhalte nach dem Upgrade auf AEM Communities 6.3 so konvertiert werden, dass sie der Struktur entsprechen, für die-API erforderlich ist.
Zu diesem Zweck steht auf GitHub ein Open-Source-Tool zur Verfügung:
Das Migrations-Tool kann so angepasst werden, dass benutzergenerierter Inhalt von früheren Versionen von AEM Social Communities zum Import in AEM Communities 6.1 oder höher exportiert wird.
Fehler - nicht definiertes Feld „provider_id“ error-undefined-field-provider-id
Wenn der folgende Fehler in den Protokollen angezeigt wird, bedeutet dies, dass die Solr-Schemadatei nicht ordnungsgemäß konfiguriert ist.
JsonMappingException: undefiniertes Feld provider_id 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 Befolgung der Anweisungen für Installieren von Standard-MLS Folgendes sicher:
- Die XML-Konfigurationsdateien wurden an den richtigen Solr-Speicherort kopiert.
- Solr wurde neu gestartet, nachdem die neuen Konfigurationsdateien die vorhandenen ersetzt haben.
Sichere Verbindung zu MongoDB schlägt fehl secure-connection-to-mongodb-fails
Wenn ein Versuch, eine sichere Verbindung zum MongoDB-Server herzustellen, aufgrund einer fehlenden Klassendefinition fehlschlägt, muss das MongoDB-Treiberpaket, mongo-java-driver
, aktualisiert werden, das im öffentlichen Maven-Repository verfügbar ist.
- 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.
- Kopieren Sie das Bundle in den Ordner „crx-quickstart/install“ für eine AEM-Instanz.
- Starten Sie die AEM-Instanz neu.