Advertencia
No puedes dejar caer el local.oplog.rs Colección. Para obtener más información sobre esta restricción, consulte Comportamiento de recopilación de oplog.
Este procedimiento cambia el tamaño del registro de operaciones1 [] en cada miembro de un conjunto de réplicas utilizando el replSetResizeOplog comando, comenzando con los miembros secundarios antes de proceder con el principal.
Realice estos pasos primero en cada miembro del conjunto de réplicas secundario. Una vez modificado el tamaño del registro de operaciones de todos los miembros secundarios, realice estos pasos en el principal.
A. Conectarse al miembro del conjunto de réplicas
Conéctese al miembro del conjunto de réplicas mediante mongosh:
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.
B. (Opcional) Verifique el tamaño actual del registro de operaciones
Para ver el tamaño actual del registro de operaciones, cambie a la local base de datos y ejecute contra db.collection.stats() la oplog.rs colección. muestra el tamaño delstats() registro de operaciones maxSize como.
use local db.oplog.rs.stats().maxSize
El campo maxSize muestra el tamaño de la colección en bytes.
C. Cambiar el tamaño del registro de operaciones del miembro del conjunto de réplicas
Redimensione el registro de operaciones con el comando.replSetResizeOplog size es un valor doble y debe ser mayor que 990 megabytes. Para convertir explícitamente el registro de operaciones size mongoshen, use el Double() constructor.
La siguiente operación cambia el tamaño del registro de operaciones del miembro del conjunto 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. |
D. (Opcional) Compacte oplog.rs para recuperar espacio en disco
Reducir el tamaño del registro de operaciones no recupera automáticamente el espacio en disco asignado al tamaño original. Debe ejecutar compact oplog.rs en la colección de la local base de datos para recuperar espacio en disco. Ejecutar en la colección no ofrece ninguna ventaja compact oplog.rs tras aumentar el tamaño del registro de operaciones.
Importante
Un miembro del conjunto de réplicas no puede replicar entradas del registro de operaciones cuando hay una operación compact en curso en oplog.rs, ya que impide la sincronización del registro de operaciones. Debe programar compact operaciones en el registro de operaciones durante una ventana de mantenimiento. La replicación del registro de operaciones no puede ocurrir durante esa ventana.
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 contra la colección oplog.rs:
use local db.runCommand({ "compact" : "oplog.rs" } )
Para clústeres que exigen autenticación, autentíciese como usuario con el privilegio en compact la local base de datos y la oplog.rs colección. Para obtener la documentación completa sobre compact los requisitos de autenticación,compact consulte Privilegios requeridos.