Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Configurar el registro de actividades para implementaciones autogestionadas

MongoDB utiliza registro por adelantado de escritura en un disco bitácora para garantizar la durabilidad de la operación de guardar.

El motor de almacenamiento WiredTiger no requiere registro en diario para garantizar un estado coherente después de un fallo. La base de datos se restaurará al último punto de control coherente durante la recuperación. Sin embargo, si MongoDB se cierra inesperadamente entre puntos de control, se requiere registrar en la bitácora para recuperar las escrituras que ocurrieron después del último punto de control.

Si mongod se detiene inesperadamente, el programa puede recuperar todo lo que se ha escrito en el registro. MongoDB volverá a aplicar las operaciones de escritura al reiniciar y mantendrá un estado coherente. Por defecto, la mayor extensión de escrituras perdidas, es decir, las que no se realizaron en el diario, son las realizadas en los últimos 100 milisegundos, más el tiempo que se tarda en realizar las escrituras reales en el diario. Consulta commitIntervalMs para obtener más información sobre el por defecto.

Puedes obtener un reconocimiento de confirmación con el nivel de confirmación de escritura (write concern) y con la opción j. Para más detalles, consulta nivel de confirmación de escritura (Write Concern).

El comando serverStatus / métododb.serverStatus() devuelve wiredTiger.log, que contiene estadísticas sobre el diario.

En un reinicio después de un bloqueo, MongoDB reproduce todos los archivos de registro en el directorio de registro antes de que el servidor esté disponible. Si MongoDB debe reproducir archivos de registro, mongod registra estos eventos en la salida del registro.

No hay razón para ejecutar --repair.

Con el motor de almacenamiento WiredTiger, MongoDB usa por defecto el compresor snappy para el journal. Para especificar un algoritmo de compresión diferente o sin compresión para una instancia de mongod:

Tip

Si se produce un apagado incontrolado de un mongod durante este procedimiento, se debe utilizar la configuración del compresor antigua para recuperarse utilizando los archivos de registro. Una vez recuperado, puedes volver a intentar el procedimiento.

Utilice el siguiente procedimiento para cambiar el compresor de registros de una instancia mongod autónomo:

  1. Actualiza storage.wiredTiger.engineConfig.journalCompressor al nuevo valor.

    Si utilizas opciones de línea de comandos en lugar de un archivo de configuración, debes actualizar la opción de línea de comandos --wiredTigerJournalCompressor durante el reinicio a continuación.

  2. Realiza un apagado limpio de la instancia mongod. Por ejemplo, conecte mongosh a la instancia y emite db.shutdownServer():

    db.getSiblingDB('admin').shutdownServer()
  3. Una vez que haya confirmado que el proceso ya no se está ejecutando, reinicie la instancia mongod:

    • Si estás usando un archivo de configuración:

      mongod -f <path/to/myconfig.conf>
    • Si utilizas opciones de línea de comando en lugar de un archivo de configuración, actualiza --wiredTigerJournalCompressor al nuevo valor.

      mongod --wiredTigerJournalCompressor <differentCompressor|none> ...

Utiliza el siguiente procedimiento para cambiar el compresor de registro para un nodo de un set de réplicas:

  1. Realiza un apagado limpio de la instancia mongod. Por ejemplo, conecta mongosh a la instancia y emite db.shutdownServer():

    db.getSiblingDB('admin').shutdownServer()
  2. Actualiza storage.wiredTiger.engineConfig.journalCompressor al nuevo valor.

    Si utiliza opciones de línea de comando en lugar de un archivo de configuración, debe actualizar las opciones de línea de comando durante el reinicio que se indica a continuación.

  3. Reinicia la mongod instancia:

    • Si estás usando un archivo de configuración:

      mongod -f <path/to/myconfig.conf>
    • Si utilizas opciones de línea de comando en lugar de un archivo de configuración, actualiza --wiredTigerJournalCompressor al nuevo valor.

      mongod --wiredTigerJournalCompressor <differentCompressor|none> ...

Utiliza el siguiente procedimiento para cambiar el compresor del journal para un miembro de un conjunto de réplicas de particiones o un conjunto de réplicas de servidores de configuración:

  1. Realiza un apagado limpio de la instancia mongod. Por ejemplo, conecta mongosh a la instancia y emite db.shutdownServer():

    db.getSiblingDB('admin').shutdownServer()
  2. Actualiza storage.wiredTiger.engineConfig.journalCompressor al nuevo valor.

    Si utiliza opciones de línea de comando en lugar de un archivo de configuración, debe actualizar las opciones de línea de comando durante el reinicio que se indica a continuación.

  3. Reinicia la mongod instancia:

    • Si estás usando un archivo de configuración:

      mongod -f <path/to/myconfig.conf>
    • Si utilizas opciones de línea de comando en lugar de un archivo de configuración, actualiza --wiredTigerJournalCompressor al nuevo valor.

      mongod --shardsvr --wiredTigerJournalCompressor <differentCompressor|none> --replSet ...

Volver

Registro en la bitácora

En esta página