maxFileSize
Pergunta/problema
O que é o Gerenciador de Persistência Tar e como configurá-lo?
Resposta/resolução
Gerenciador de Persistência Tar
Você pode armazenar o conteúdo CRX em um Gerenciador de Persistência. Por padrão, quando você instala o CRX 1.4, o gerenciador de persistência salva o conteúdo do repositório em arquivos tar.
Finalidade
O Gerenciador de Persistência Tar (Tar PM) é um gerenciador de persistência baseado em disco que usa o formato de arquivo tar para armazenar conteúdo e é útil em situações em que alto desempenho de criação e modificação de dados é necessário (como o formato Tar é somente de adição, as gravações são muito eficientes).
O clustering do Gerenciador de Persistência Tar permite que o CRX compense falhas de hardware e software, eliminando um único ponto de falha (um servidor) enquanto usa aplicativos sem alterações. Ao contrário do armazenamento em cluster baseado em um servidor de banco de dados (também disponível no CRX), o armazenamento em cluster do Gerenciador de Permanência Tar é baseado em sistemas de arquivos em rede.
Gerenciador de Permanência Tar versus um Gerenciador de Permanência baseado em RDBMS
Tanto o gerenciador de permanência Tar quanto os baseados em banco de dados oferecem suporte a transações, qualquer sistema de arquivos e otimização em tempo de execução ou em modo de batch. Embora o Gerenciador de persistência Tar seja uma nova tecnologia, ele possui as seguintes vantagens sobre o uso de um gerenciador de persistência baseado em banco de dados:
- Os arquivos Tar são de adição somente.
- Arquivos tar podem ser armazenados como backup facilmente online.
- Tar é um formato de arquivo padrão, acessível por meio de ferramentas conhecidas, como tar, WinZip e assim por diante.
- Tar é um formato independente de plataforma.
- Baixo custo de propriedade e licença.
- Gerenciador de Permanência Tar é projetado especificamente para repositórios JCR.
- O Gerenciador de Permanência Tar é mais rápido que os gerenciadores de persistência baseados em RDBMS para o caso de uso do JCR.
- O Gerenciador de Permanência Tar aproveita a estrutura muito simples de dados do par de valores-chave do CRX.
Configurando o Gerenciador de Persistência Tar
As opções de configuração são:
<PersistenceManager class="com.day.crx.persistence.tar.TarPersistenceManager"> <param name="maxFileSize" value="256"/> <param name="autoOptimizeAt" value="2:00-5:00"/> <!-- since 1.4.1 --> <param name="bindAddress" value=""/> <param name="portList" value=""/> <param name="preferredMaster" value="false"/> <param name="lockClass" value="com.day.crx.util.NativeFileLock"/> <param name="lockTimeout" value="0"/> <param name="fileMode" value="rw"/> <param name="optimizeSleep" value="1"/> <param name="maxIndexBuffer" value="32"/> </PersistenceManager>
|
(opcional, o padrão é 256) Se o arquivo de dados atual crescer mais do que esse número (em megabytes), um novo arquivo de dados será criado (ou seja, se a última entrada em um arquivo for muito grande, um arquivo de dados pode ser muito maior, já que as entradas não são divididas entre os arquivos). O tamanho máximo do arquivo é 1024 (1 GB). Arquivos de dados são mantidos abertos no tempo de execução. Dependendo da quantidade de dados armazenados no Gerenciador de Persistência do Tar, esse valor precisa ser aumentado ou o limite de arquivos abertos por processo precisa ser ajustado. Se esse valor for alterado quando arquivos tar já existirem, novos arquivos tar crescerão até esse tamanho (os arquivos existentes não serão alterados). |
autoOptimizeAt |
(opcional, o padrão é 2:00-5:00) Otimiza automaticamente no tempo determinado. Quando a otimização deve ser executada. Exemplo: 2:00 para otimizar automaticamente todas as manhãs às duas. Os arquivos de índice também serão mesclados, se necessário. Para desativar a otimização automática, defina o valor para "-0" (o que na verdade significa 'parar a otimização à meia-noite'). |
bindAddress |
Se a sincronização entre os nós do cluster deve ser feita em uma interface de rede específica. Por padrão, todas as interfaces de rede são usadas. Default: empty (use todas as interfaces). |
portList |
A lista de portas para usar no modo mestre. Por padrão, qualquer porta livre é usada. Ao usar um firewall, as portas abertas devem estar listadas. Uma porta por espaço de trabalho é necessária. Uma lista de portas ou intervalos é suportada, por exemplo: 9100-9110 ou 9100-9110,9210-9220. Padrão: 0 (qualquer porta). |
preferredMaster |
Aplicável apenas em um ambiente de cluster. Se ativado, esse nó do cluster tentará se tornar o mestre mesmo se outro nó do cluster tiver sido iniciado antes. Default: false (not enabled) |
lockClass |
O nome da classe a ser usada para bloqueio. Têm suporte o com.day.crx.util.NativeFileLock e o com.day.crx.util.CooperativeFileLock. Ao usar um sistema de arquivos que não suporta o bloqueio de arquivos (por exemplo, algumas versões antigas do NFS), a classe de bloqueio cooperativa deve ser usada. Default: com.day.crx.util.NativeFileLock |
lockTimeout |
Quando o clustering é usado, o tempo máximo (em milissegundos) a aguardar para bloquear os arquivos compartilhados. Padrão: 0 para nenhum limite. |
fileMode |
O modo de arquivo como abrir os arquivos de dados. Opções são "rw" (leitura-escrita), "r" (somente leitura), & amp;quot;rwd" (leitura e escrita, o conteúdo é escrito de forma síncrona) e "rws" (leitura e escrita; alterações de conteúdo e metadados são escritos em sincronia). Opcionalmente, um + pode ser anexado para chamar o fsync após a escrita (no entanto, isso diminuirá muito a velocidade de gravação). Padrão: "rw" para leitura e gravação. |
optimizeSleep |
(opcional, o padrão é 1) O número de milissegundos a aguardar após a otimização de uma transação. Precisão de ponto flutuante é suportada. |
maxIndexBuffer |
(opcional, o padrão é 32) Após uma finalização anormal, no máximo esse volume de dados (em megabytes) precisa ser verificado para recriar o índice de entrada do tar. |
Valores de configuração são lidos quando o repositório é iniciado; isso significa que você pode querer reiniciar o repositório depois de alterar a configuração.Observação: Se você alterar a configuração depois que uma área de trabalho já tiver sido criada, será necessário alterar os arquivos repository.xml e workspace.xml.
Otimizando Arquivos Tar
Veja Otimização do Gerenciador de Persistência Tar
Verificação e correção de consistência
O Gerenciador de Persistência Tar pode verificar a consistência do repositório e corrigir problemas de consistência na inicialização. Para ativar a verificação de consistência e correção automática de problemas, defina as seguintes opções no repository.xml e no workspace.xml e reinicie o CRX:
<param name="consistencyCheck" value="true"/> <param name="consistencyFix" value="true"/>
Para corrigir problemas de consistência, a configuração de verificação de consistência também deve estar ativada.
Depois que a verificação de consistência for concluída, desative as configurações relevantes, de outra forma a verificação de consistência será sempre executada ao inicializar o CRX.
Se arquivos Tar ficarem grandes
Se alguns arquivos data*.tar forem muito grandes, há grandes transações. Grandes transações são um problema (em qualquer caso - não apenas para o Gerenciador de Persistência Tar, mas também para a memória principal e outros subsistemas). Você pode analisar o que está em um arquivo data*.tar usando o arquivo jsp no anexo.
Migração do Ambiente Regular para Cluster
A maneira mais fácil de migrar para um ambiente em cluster é exportar os dados, alterar a configuração e, em seguida, importar os dados.
Migração do Ambiente Clustered para o Regular
A maneira mais fácil de migrar para um ambiente regular é exportar os dados, alterar a configuração e, em seguida, importar os dados.
Versões afetadas
CRX 1.4.1 e 1.4.2
Download
Download
Fazer logon em sua conta