MSRP - Provider risorsa di archiviazione MongoDB msrp-mongodb-storage-resource-provider
Informazioni su MSRP about-msrp
Quando AEM Communities è configurato per utilizzare MSRP come archivio comune, i contenuti generati dagli utenti (UGC, User Generated Content) sono accessibili da tutte le istanze di authoring e pubblicazione senza la necessità di sincronizzazione o replica.
Vedi anche Caratteristiche delle opzioni SRP e topologie consigliate.
Requisiti requirements
-
- Versione 2.6 o successiva
- Non è necessario configurare i monghi o la condivisione
- Si consiglia vivamente di utilizzare un set di repliche
- Può essere eseguito sullo stesso host dell'AEM o in remoto
-
-
Solr versione 7.0
-
Solr richiede Java 1.7 o versione successiva
-
Non è necessario alcun servizio
-
Scelta delle modalità di esecuzione:
- Modalità autonoma
- Modalità SolrCloud (consigliata per gli ambienti di produzione)
-
Scelta di ricerca multilingue (MLS):
-
Configurazione MongoDB mongodb-configuration
Seleziona MSRP select-msrp
La console Configurazione archiviazione consente di selezionare la configurazione di archiviazione predefinita, che identifica l'implementazione di SRP da utilizzare.
Per accedere alla console Configurazione archiviazione, dall’autore:
- Dalla navigazione globale, seleziona Strumenti > Community > Configurazione archiviazione.
-
Seleziona Provider risorsa di archiviazione MongoDB (MSRP)
-
Configurazione mongoDB
-
URI mongoDB
predefinito: mongodb://localhost/?maxPoolSize=10&waitQueueMultiple=5&readPreference=secondaryPreferred
-
Database MongoDB
default: community
-
Raccolta UGC mongoDB
predefinito: contenuto
-
Raccolta allegati mongoDB
default: allegati
-
-
SolrConfiguration
-
Zookeeper Host
Se l'esecuzione avviene in modalità SolrCloud con un controllo ZooKeeper esterno, impostare questo valore su
HOST:PORT
per il controllo ZooKeeper, ad esempio my.server.com:2181Per un gruppo ZooKeeper, immettere valori
HOST:PORT
separati da virgole, ad esempio host1:2181,host2:2181Lasciare vuoto se si esegue Solr in modalità standalone utilizzando lo ZooKeeper interno.
Predefinito: <vuoto>-
URL Solr
URL utilizzato per comunicare con Solr in modalità autonoma.
Lascia vuoto se l’esecuzione avviene in modalità SolrCloud.
Predefinito: https://127.0.0.1:8983/solr/ -
Raccolta Solr
Il nome della raccolta Solr.
Predefinito: raccolta1
-
-
-
Seleziona Invia
communities
, non deve essere impostato sul nome di un database utilizzato per archivi nodi o archivi dati (binari). Vedi anche Elementi di archiviazione in AEM 6.5.Set di replica MongoDB mongodb-replica-set
Per l'ambiente di produzione, si consiglia vivamente di configurare un set di repliche, un cluster di server MongoDB che implementa la replica primaria-secondaria e il failover automatizzato.
Per ulteriori informazioni sui set di repliche, consulta la documentazione di Replica di MongoDB.
Per lavorare con i set di repliche e imparare a definire le connessioni tra le applicazioni e le istanze di MongoDB, consultare la documentazione relativa al formato URI stringa di connessione di MongoDB.
Url di esempio per la connessione a un set di replica 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
Configurazione Solr solr-configuration
Un’installazione Solr può essere condivisa tra l’archivio nodi (Oak) e l’archivio comune (MSRP) utilizzando raccolte diverse.
Se entrambe le raccolte Oak e MSRP vengono utilizzate in modo intensivo, è possibile installare un secondo Solr per motivi di prestazioni.
Per gli ambienti di produzione, la modalità SolrCloud offre prestazioni migliori rispetto alla modalità autonoma (un'unica installazione Solr locale).
Per informazioni dettagliate sulla configurazione, vedere Configurazione Solr per SRP.
Aggiornamento upgrading
Se si esegue l'aggiornamento da una versione precedente configurata con MSRP, sarà necessario:
-
Esegui l'aggiornamento ad AEM Communities
-
Installare nuovi file di configurazione Solr
- Per MLS standard
- Per MLS avanzato
-
Reindicizza MSRP
Vedere la sezione Strumento di reindicizzazione MSRP
Pubblicazione della configurazione publishing-the-configuration
Il protocollo MSRP deve essere identificato come archivio comune in tutte le istanze di authoring e pubblicazione.
Per rendere disponibile la configurazione identica nell’ambiente di pubblicazione, accedi all’istanza di authoring e segui i passaggi seguenti:
- Passa dal menu principale a Strumenti > Operazioni > Replica.
- Seleziona Attiva albero
- Percorso iniziale:
- Passa a
/etc/socialconfig/srpc/
- Passa a
- Seleziona Attiva
Gestione dei dati utente managing-user-data
Per informazioni relative a utenti, profili utente e gruppi di utenti, spesso immessi nell'ambiente di pubblicazione, visitare
Strumento Reindicizzazione MSRP msrp-reindex-tool
Esiste un endpoint HTTP per la reindicizzazione di Solr per MSRP durante l'installazione di nuovi file di configurazione o il ripristino di un indice Solr danneggiato.
Con questo strumento, MongoDB è l'origine di verità per MSRP; i backup devono essere eseguiti solo da MongoDB.
L'intero albero UGC può essere reindicizzato, o solo un sottoalbero specifico, come specificato dal parametro *path *data.
Questo strumento può essere eseguito dalla riga di comando utilizzando cURL o qualsiasi altro strumento HTTP.
Durante la reindicizzazione, esiste un compromesso tra la memoria e le prestazioni controllate dal parametro di dati *batchSize *, che specifica quanti record UGC vengono reindicizzati per batch.
Un valore di default ragionevole è 5000:
- Se la memoria è un problema, specificare un numero inferiore
- Se la velocità è un problema, specifica un numero maggiore per aumentarla
Esecuzione dello strumento Reindicizzazione MSRP tramite il comando cURL running-msrp-reindex-tool-using-curl-command
Il seguente comando cURL mostra ciò che è necessario affinché una richiesta HTTP reindicizzi i contenuti generati dagli utenti archiviati in MSRP.
Il formato di base è:
cURL -u accedi -d dati reindicizza-url
accesso = administrator-id:password
Ad esempio: admin:admin
dati = "batchSize=size&path=path"
size = quante voci UGC reindicizzare per operazione/content/usergenerated/asi/mongo/
percorso = percorso principale della struttura ad albero di contenuti generati dagli utenti da reindicizzare
- Per reindicizzare tutti i contenuti generati dagli utenti, specifica il valore della proprietà
asipath
di/etc/socialconfig/srpc/defaultconfiguration
- Per limitare l'indice ad alcuni UGC, specificare un sottoalbero di
asipath
reindex-url = endpoint per la reindicizzazione di SRPhttp://localhost:4503/services/social/datastore/mongo/reindex
Esempio di reindicizzazione MSRP msrp-reindex-example
curl -s -u admin:admin -d 'batchSize=10000&path=/content/usergenerated/asi/mongo/' http://localhost:4503/services/social/datastore/mongo/reindex
Come Demo MSRP how-to-demo-msrp
Per impostare MSRP per un ambiente di dimostrazione o sviluppo, vedere Come configurare MongoDB per Demo.
Risoluzione dei problemi troubleshooting
UGC non visibile in MongoDB ugc-not-visible-in-mongodb
Verificare che MSRP sia stato configurato come provider predefinito controllando la configurazione dell'opzione di archiviazione. Per impostazione predefinita, il provider di risorse di archiviazione è JSRP.
Su tutte le istanze AEM di authoring e pubblicazione, visitare nuovamente la console Configurazione archiviazione o controllare l'archivio AEM:
-
In JCR, se /etc/socialconfig
- Non contiene un nodo srpc. Il provider di archiviazione è JSRP.
- Se il nodo srpc esiste e contiene il nodo defaultconfiguration, le proprietà di default configuration devono definire MSRP come provider predefinito.
UGC scompare dopo l’aggiornamento ugc-disappears-after-upgrade
In caso di aggiornamento da un sito AEM Communities 6.0 esistente, eventuali contenuti generati dagli utenti preesistenti devono essere convertiti in modo da essere conformi alla struttura richiesta per l'API SRP dopo l'aggiornamento ad AEM Communities 6.3.
Su GitHub è disponibile uno strumento open source a tale scopo:
Lo strumento di migrazione può essere personalizzato per esportare contenuti generati dagli utenti (UGC, User-Generated Content) di versioni precedenti delle social community AEM per l’importazione in AEM Communities 6.1 o versione successiva.
Errore - campo non definito provider_id error-undefined-field-provider-id
Se nei registri viene visualizzato il seguente errore, questo indica che il file di schema Solr non è configurato correttamente.
JsonMappingException: campo non definito 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
Per risolvere l'errore, quando si seguono le istruzioni per l'installazione di MLS standard, verificare:
- I file di configurazione XML sono stati copiati nel percorso Solr corretto.
- Solr è stato riavviato dopo che i nuovi file di configurazione hanno sostituito quelli esistenti.
Connessione sicura a MongoDB non riuscita secure-connection-to-mongodb-fails
Se un tentativo di stabilire una connessione protetta al server MongoDB non riesce a causa di una definizione di classe mancante, è necessario aggiornare il bundle del driver MongoDB, mongo-java-driver
, disponibile dall'archivio maven pubblico.
- Scarica il driver da https://search.maven.org/#artifactdetails%7Corg.mongodb%7Cmongo-java-driver%7C2.13.2%7Cjar (versione 2.13.2 o successiva).
- Copia il bundle nella cartella "crx-quickstart/install" per un’istanza AEM.
- Riavvia l’istanza AEM.