MSRP - Provedor de recursos de armazenamento MongoDB

Sobre o MSRP

Quando o AEM Communities é configurado para usar o MSRP como armazenamento comum, o conteúdo gerado pelo usuário (UGC) é acessível de todas as instâncias de autor e publicação sem a necessidade de sincronização nem replicação.

Consulte também Características das opções de SRP e Topologias recomendadas.

Requisitos

Configuração do MongoDB

Selecionar MSRP

O Console de configuração de armazenamento permite a seleção da configuração de armazenamento padrão, que identifica qual implementação do SRP usar.

Na autora, para acessar o console Configuração de armazenamento:

  • Na navegação global, selecione Ferramentas > Comunidades > Configuração de armazenamento.

msrp

  • Selecionar Provedor de recursos de armazenamento MongoDB (MSRP)

  • Configuração do mongoDB

    • URI do mongoDB

      default: mongodb://localhost/?maxPoolSize=10&waitQueueMultiple=5&readPreference=secondaryPreferred

    • Base de dados do mongoDB

      default: comunidades

    • Coleção de UGC do mongoDB

      default: conteúdo

    • Coleção de anexos do mongoDB

      default: anexos

  • SolrConfiguration

    • 🔗Host do Zookeeper

      Ao executar o Modo SolrCloud com um ZooKeeper externo, defina esse valor como HOST:PORT para o ZooKeeper, como my.server.com:2181

      Para um Conjunto ZooKeeper, digite separado por vírgulas HOST:PORT , como host1:2181,host2:2181

      Deixe em branco se estiver executando Solr no modo independente usando o ZooKeeper interno.
      Padrão: <blank>

      • URL Solr
        O URL usado para se comunicar com Solr no modo independente.
        Deixe em branco se estiver executando no modo SolrCloud.

        Padrão: https://127.0.0.1:8983/solr/

      • Coleta Solr
        O nome da coleção Solr.

        Padrão: collection1

  • Selecione Enviar

OBSERVAÇÃO

O banco de dados mongoDB, que padroniza o nome communities, não deve ser definido como o nome de um banco de dados que está sendo usado para armazenamentos de nó ou armazenamentos de dados (binários). Consulte também Elementos de armazenamento no AEM 6.5.

Conjunto de Réplicas do MongoDB

Para o ambiente de produção, é altamente recomendável configurar um conjunto de réplicas, um cluster de servidores MongoDB que implementa a replicação primária secundária e o failover automatizado.

Para saber mais sobre conjuntos de réplicas, visite o Replicação documentação.

Para trabalhar com conjuntos de réplicas e aprender a definir conexões entre aplicativos e instâncias do MongoDB, visite o Formato URI da Cadeia de Conexão documentação.

Exemplo de Url para Conexão com um Conjunto de Réplicas

# 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

Configuração de Solr

Uma instalação Solr pode ser compartilhada entre o armazenamento de nós (Oak) e o armazenamento comum (MSRP) usando diferentes coleções.

Se as coleções Oak e MSRP forem usadas intensamente, uma segunda Solr poderá ser instalada por motivos de desempenho.

Para ambientes de produção, Modo SolrCloud O fornece desempenho aprimorado em relação ao modo independente (uma configuração única e local da Solr).

Para obter detalhes de configuração, consulte Configuração de Solr para SRP.

Atualização

Se estiver atualizando de uma versão anterior configurada com o MSRP, será necessário:

  1. Execute o atualizar para o AEM Communities
  2. Instalar novos arquivos de configuração do Solr
  3. Reindexar MSRP Consulte a seção Ferramenta de reindexação MSRP

Publicar a configuração

O MSRP deve ser identificado como o armazenamento comum em todas as instâncias de criação e publicação.

Para disponibilizar a configuração idêntica no ambiente de publicação, faça logon na instância do autor e siga as etapas:

  • Navegar do menu principal para Ferramentas > Operações > Replicação.
  • Selecionar Ativar árvore
  • Caminho de início:
    • Navegue até /etc/socialconfig/srpc/
  • Selecionar Ativar

Gerenciar dados do usuário

Para obter informações sobre usuários, perfis de usuário e grupos de usuários, normalmente inserido no ambiente de publicação, visite

Ferramenta de reindexação MSRP

Há um terminal HTTP para reindexar o Solr para MSRP ao instalar novos arquivos de configuração ou reparar um índice Solr danificado.

Com essa ferramenta, o MongoDB é a fonte de verdade MSRP; os backups só precisam ser feitos do MongoDB.

Toda a árvore UGC pode ser reindexada ou apenas uma subárvore específica, conforme especificado pelo parâmetro *path *data .

Essa ferramenta pode ser executada a partir da linha de comando usando cURL ou qualquer outra ferramenta HTTP.

Ao reindexar, há uma compensação entre a memória e o desempenho controlado pelo parâmetro *batchSize *data , que especifica quantos registros UGC são reindexados por lote.

Um padrão razoável é 5000:

  • Se a memória for um problema, especifique um número menor
  • Se a velocidade for um problema, especifique um número maior para aumentar a velocidade

Execução da ferramenta de reindexação MSRP usando o comando cURL

O seguinte comando cURL mostra o que é necessário para uma solicitação HTTP reindexar o UGC armazenado no MSRP.

O formato básico é:

cURL -u assinatura -d dados reindex-url

assinatura = administrador-id:senha Por exemplo: admin:admin

dados = "batchSize=size&path=caminho"

size = quantas entradas UGC reindexar por operação
/content/usergenerated/asi/mongo/

caminho = o local raiz da árvore do UGC a ser reindexado

  • Para reindexar todos os UGC, especifique o valor da variável asipathpropriedade de
    /etc/socialconfig/srpc/defaultconfiguration
  • Para limitar o índice a algum UGC, especifique uma subárvore de asipath

reindex-url = ponto final para reindexação do SRP
http://localhost:4503/services/social/datastore/mongo/reindex

OBSERVAÇÃO

Se você reindexação do DSRP Solr, o URL é /services/social/datastore/rdb/reindex

Exemplo de reindexação MSRP

curl -s -u admin:admin -d 'batchSize=10000&path=/content/usergenerated/asi/mongo/' http://localhost:4503/services/social/datastore/mongo/reindex

Como demonstrar o MSRP

Para configurar o MSRP para um ambiente de demonstração ou desenvolvimento, consulte Como configurar o MongoDB para demonstração.

Resolução de problemas

UGC não visível no MongoDB

Verifique se o MSRP foi configurado para ser o provedor padrão, verificando a configuração da opção de armazenamento. Por padrão, o provedor de recursos de armazenamento é o JSRP.

Em todas as instâncias do autor e do AEM de publicação, revise a Console de configuração de armazenamento ou verifique o repositório AEM:

  • No JCR, se /etc/socialconfig

    • Não contém um srpc , significa que o provedor de armazenamento é JSRP.
    • Se o nó srpc existir e contiver nó defaultconfiguration, as propriedades da configuração padrão devem definir o MSRP para ser o provedor padrão.

O UGC desaparece após a atualização

Se estiver atualizando de um site AEM Communities 6.0 existente, qualquer UGC pré-existente deverá ser convertido para estar em conformidade com a estrutura necessária para a variável SRP API após a atualização para o AEM Communities 6.3.

Há uma ferramenta de código aberto disponível no GitHub para essa finalidade:

A ferramenta de migração pode ser personalizada para exportar o UGC de versões anteriores de comunidades sociais AEM para importação no AEM Communities 6.1 ou posterior.

Erro - provider_id de campo indefinido

Se o seguinte erro for visto nos logs, isso indica que o arquivo de esquema Solr não está configurado corretamente.

JsonMappingException: campo indefinido 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

Para resolver o erro, ao seguir as instruções para Instalação do MLS padrão, assegure:

  • Os arquivos de configuração XML foram copiados para o local correto do Solr.
  • A Solr foi reiniciada depois que os novos arquivos de configuração substituíram os existentes.

Falha na Conexão Segura ao MongoDB

Se uma tentativa de fazer uma conexão segura com o servidor MongoDB falhar devido a uma definição de classe ausente, será necessário atualizar o pacote de driver MongoDB, mongo-java-driver, disponível no repositório público maven.

  1. Baixe o driver de https://search.maven.org/#artifactdetails%7Corg.mongodb%7Cmongo-java-driver%7C2.13.2%7Cjar (versão 2.13.2 ou posterior).
  2. Copie o pacote na pasta "crx-quickstart/install" para uma instância do AEM.
  3. Reinicie a instância de AEM.

Recursos

Nesta página