Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Mantener
/ / /

Cambia el tamaño del Oplog de los miembros del set de réplicas autogestionado

Advertencia

No puedes dejar caer el local.oplog.rs colección. Para obtener más información sobre esta restricción, consulta Comportamiento de la colección Oplog.

Este procedimiento cambia el tamaño del oplog [1] en cada miembro de un set de réplicas usando el comando replSetResizeOplog, comenzando por los miembros secundarios antes de proceder al primario.

Realice estos pasos en cada miembro del secundario set de réplicas primero. Una vez que hayas cambiado el tamaño del "oplog" para todos los miembros secundarios, realiza estos pasos en el primario.

Conéctese al miembro del conjunto de réplicas mongosh mediante:

mongosh --host <hostname>:<port>

Nota

Si el conjunto de réplicas exige autenticación, debe autenticarse como un usuario con privilegios para modificar la local base de datos, como el rol clusterManager clusterAdmin o.

Para ver el tamaño actual del oplog, cambia a la base de datos local y ejecuta db.collection.stats() sobre la colección oplog.rs. stats() muestra el tamaño del oplog como maxSize.

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

El campo maxSize muestra el tamaño de la colección en bytes.

Redimensiona el oplog con el comando replSetResizeOplog. El size es un double y debe ser mayor que 990 megabytes. Para realizar un casting explícito del oplog size en mongosh, utiliza el constructor Double().

La siguiente operación cambia el tamaño del área de registro de operaciones (oplog) del miembro del set de réplicas a 16 gigabytes o 16000 megabytes.

db.adminCommand({replSetResizeOplog: 1, size: Double(16000)})
[1] El oplog puede crecer más allá de su límite de tamaño configurado para evitar borrar el majority commit point.

Reducir el tamaño del oplog no recupera automáticamente el espacio en disco asignado al tamaño original del oplog. Debe ejecutar compact en la colección oplog.rs de la base de datos local para reclamar espacio en el disco. No hay beneficios al ejecutar compact en la colección oplog.rs después de aumentar el tamaño del oplog.

Importante

Un miembro del conjunto de réplicas no puede replicar entradas del oplog cuando una operación compact está en curso en oplog.rs porque impide la sincronización del oplog. Se debe programar compact operaciones en el oplog durante un periodo de mantenimiento. La replicación de Oplog no puede ocurrir durante esa ventana de tiempo.

No ejecute compact en el miembro principal del conjunto de réplicas. Conecte un mongo shell directamente al principal (no al conjunto de réplicas) y rs.stepDown() ejecute. Si la ejecución es correcta, el principal se revierte. Desde el shell, ejecute mongo el compact comando en el miembro ahora secundario.

La siguiente operación ejecuta el comando compact en la colección oplog.rs:

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

Para los clústeres que aplican la autenticación, autentícate como un usuario con la acción de privilegio compact en la base de datos local y en la colección oplog.rs. Para obtener documentación completa sobre los requisitos de autenticación de compact, consulte compact Privilegios Requeridos.

Volver

Mantener

En esta página