Manejo de errores de bus en el servicio Mongo

Tengo un servicio Mongo con el que interactúan varios hosts. El host en el que se ejecuta el servicio Mongo es bastante especial: tiene 3 TB de RAM. Sin embargo, ese host también genera respuestas de error de bus intermitentes. Si se produce un error de bus dentro del proceso de servicio de Mongo, el servicio se detiene y todos los procesos de apio (Python) que interactúan con el recurso reciben respuestas de conexión rechazada.

¿Hay alguna manera de permitir el servicio de Mongo? recuperarse de alguna manera de un error de bus? ¿Puede la fragmentación ayudar con este problema? ¿Existe alguna otra solución potencial para el error de bus que se pueda realizar en el nivel de configuración de la aplicación? ¡Estaría agradecido por cualquier sugerencia que otros puedan ofrecer sobre esta pregunta!

Construí Mongo desde la fuente en RedHat para poder usar cualquier versión reciente si eso ayuda. La versión actualmente instalada es 3.6.4.

Comentarios

  • Los errores de bus se originan en algún proceso que intenta abordar la RAM que no está allí (no se puede abordar). Supongo que debería buscar en HW / Compatibilidad de software.
  • @dezso ¿no es posible resolver este problema a nivel de aplicación? No puedo ' t afectar el hardware en este caso, pero puedo configurar la aplicación mongo …
  • Bueno, como parece, MongoDB no puede manejar (direccionar) la memoria correctamente. Esto difícilmente es algo que puedas arreglar ajustando la configuración (pero estoy diciendo esto sin conocer realmente MongoDB). Yo ' d sugeriría abrir un problema con los desarrolladores, es posible que tengan una idea mejor que nadie aquí.
  • @duhaime, ¿podría actualizar el " Bus ¿error ?. ¿Proviene del nivel de software o de la etiqueta de hardware? ¿Verificó " smartmontools " en el entorno Linux?
  • @MdHaidarAliKhan Creo que este error de bus proviene del nivel de hardware, pero ' me gustaría detectar la excepción en la capa de aplicación …

Respuesta

Manejo del error de bus en el servicio Mongo

Según Documentación de MongoDB aquí También sería útil ejecutar smartctl (parte de smartmontools ) para comprobar si hay errores de hardware SMART:

sudo smartctl -a /dev/sdb 

Incluso usted puede ejecutar la utilidad Linux fsck que se usa para verificar y reparar sistemas de archivos Linux (ext2, ext3, ext4, etc.).

Dependiendo de cuándo fue la última vez que un archivo se verificó el sistema, el sistema ejecuta fsck durante el tiempo de arranque para verificar si el sistema de archivos está en un estado consistente. El administrador del sistema también puede ejecutarlo manualmente cuando hay un problema con los sistemas de archivos.

Asegúrese de ejecutar fsck en un sistema de archivos desmontado para evitar cualquier corrupción de datos

Para su referencia adicional aquí y aquí

Respuesta

Error de bus es con mayor frecuencia una indicación de un error del programa, en este caso MongoDB en sí, o, raramente, un problema de hardware. Como tal, lo primero que debe intentar es actualizar a la última versión estable. Si el problema persiste, no hay mucho que pueda hacer al respecto, aparte de enviar un informe de error a Mongo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *