Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ /

Alterar o tamanho do Oplog

Nesta página

  • R. Conecte-se ao membro do conjunto de réplicas
  • B. (Opcional) Verifique o tamanho atual do oplog
  • C. Alterar o tamanho do registro de opção do membro do conjunto de réplica
  • D. (Opcional) Compacto oplog.rs para recuperar espaço em disco

Aviso

Você não pode descartar a coleção local.oplog.rs . Para obter mais informações sobre esta restrição, consulte Comportamento da Coleção Oplog.

Este procedimento altera o tamanho do oplog [1] em cada membro de um conjunto de réplica usando o comando replSetResizeOplog, começando com os membros secundários antes de prosseguir para o primário.

Execute estas etapas em cada membro secundário do conjunto de réplicas primeiro. Depois de alterar o tamanho do oplog de todos os membros secundários, execute estas etapas no primário.

Conecte ao nó do conjunto de réplica usando mongosh:

mongosh --host <hostname>:<port>

Observação

Se o conjunto de réplica aplicar autenticação, você deverá autenticar como um usuário com privilégios para modificar o banco de dados do local, como o papel clusterManager ou clusterAdmin.

Para visualizar o tamanho atual do oplog, alterne para o banco de dados do local e execute o db.collection.stats() na coleção do oplog.rs. stats() exibe o tamanho do oplog como maxSize.

use local
db.oplog.rs.stats().maxSize

O campo maxSize exibe o tamanho da coleção em bytes.

Redimensione o oplog com o comando replSetResizeOplog. O size é um duplo e deve ser maior que 990 megabytes. Para converter explicitamente o oplog size em mongosh, use o construtor Double().

A operação a seguir altera o tamanho do oplog do membro do conjunto de réplicas para 16 gigabytes ou 16.000 megabytes.

db.adminCommand({replSetResizeOplog: 1, size: Double(16000)})
[1] O oplog pode ultrapassar seu limite de tamanho configurado para evitar a exclusão do majority commit point.

Reduzir o tamanho do oplog não recupera automaticamente o espaço em disco alocado ao tamanho original do oplog. Você deve executar compact na coleção oplog.rs do banco de dados local para recuperar o espaço em disco. Não há benefícios para executar compact na coleção oplog.rs após aumentar o tamanho do oplog.

Importante

Um membro do conjunto de réplicas pode replicar entradas de oplog enquanto a operação compact está em andamento. Como resultado, não é mais necessário limitar as operações de compactação no oplog aos períodos de manutenção, pois a replicação do oplog pode continuar normalmente durante a compactação.

Não execute o compact em relação ao principal membro do conjunto de réplica. Conecte uma shell do mongo diretamente à primária (não ao conjunto de réplica) e execute o rs.stepDown(). Se for bem-sucedido, o primário desce. Na shell mongo, execute o comando compact no agora membro secundário.

A seguinte operação executa o comando compact na coleção oplog.rs:

use local
db.runCommand({ "compact" : "oplog.rs" } )

Para agrupamentos que impõem autenticação, autentique como um usuário com a ação de privilégio do compact no banco de dados do local e na coleção do oplog.rs. Para documentação completa sobre requisitos de autenticação do compact, consulte Privilégios exigidos docompact.

Voltar

Tutoriais de manutenção do conjunto de réplicas

Próximo

Realizar Manutenção em Membros do Conjunto de Réplica