Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

657
Vistas
Error de reinicio de Mongo: /var/run/mongodb/mongod.pid existe

Acabo de iniciar una nueva AWS Linux AMI 2016.09.1(HVM) y descargué la última versión de Mongodb. Estoy usando MongoDB versión 3.0.14. Actualicé /etc/mongod.conf a lo siguiente,

 # mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # where to write logging data. systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log # Where and how to store data. storage: dbPath: /var/lib/mongo journal: enabled: true # engine: # mmapv1: # wiredTiger: # how the process runs processManagement: fork: true # fork and run in background pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile # network interfaces net: port: 27017 # bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces. #security: #operationProfiling: #replication: #sharding: ## Enterprise-Only Options #auditLog: #snmp:

Ejecuto Mongodb por primera vez usando el servicio,

 sudo service mongod start

Todo funciona bien. Cuando detengo Mongodb y reinicio,

 sudo service mongod stop sudo service mongod restart

Obtuve el siguiente error,

 Error starting mongod. /var/run/mongodb/mongod.pid exists.

Esto es lo que hay en el archivo de registro, /var/log/mongodb/mongod.log,

 2017-01-16T14:11:16.869+0000 I CONTROL ***** SERVER RESTARTED ***** 2017-01-16T14:11:16.872+0000 I CONTROL [initandlisten] MongoDB starting : pid=2820 port=27017 dbpath=/var/lib/mongo 64-bit hos t=ip-10-0-0-91 2017-01-16T14:11:16.872+0000 I CONTROL [initandlisten] db version v3.0.14 2017-01-16T14:11:16.872+0000 I CONTROL [initandlisten] git version: 08352afcca24bfc145240a0fac9d28b978ab77f3 2017-01-16T14:11:16.872+0000 I CONTROL [initandlisten] build info: Linux ip-10-63-190-181 3.4.43-43.43.amzn1.x86_64 #1 SMP Mon May 6 18:04:41 UTC 2013 x86_64 BOOST_LIB_VERSION=1_49 2017-01-16T14:11:16.872+0000 I CONTROL [initandlisten] allocator: tcmalloc 2017-01-16T14:11:16.872+0000 I CONTROL [initandlisten] options: { config: "/etc/mongod.conf", net: { port: 27017 }, processMan agement: { fork: true, pidFilePath: "/var/run/mongodb/mongod.pid" }, storage: { dbPath: "/var/lib/mongo", journal: { enabled: t rue } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } } 2017-01-16T14:11:16.893+0000 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted 2017-01-16T14:11:16.893+0000 I - [initandlisten] Fatal Assertion 28578 2017-01-16T14:11:16.893+0000 I - [initandlisten] ***aborting after fassert() failure

He visto varios blogs publicados sobre este problema con soluciones, pero ninguno de ellos parece funcionar. Pasé todo el día domingo tratando de resolver esto. Nunca tuve este problema antes de ejecutar una instancia anterior de AWS y Mongo.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Bien, encontré el problema. Eliminé el archivo /var/run/mongodb/mongod.pid como sugirió Dave Maples arriba. Sin embargo, MongoDB aún no se ejecutaría. Volví a mirar el archivo de registro y ahora lo vi ladrando sobre este archivo,

 /tmp/mongodb-27017.sock

Parecía que no tenía los permisos correctos. Lo intenté,

 sudo chown mongod:mongod /tmp/mongodb-27017.sock

Y funcionó bien. Ahora, cuando inicio/detengo/reinicio MongoDB varias veces, ya no tengo el problema. Creo que los permisos de archivo hicieron que MongoDB no se limpiara correctamente y dejó el archivo /var/run/mongodb/mongod.pid en el directorio. Esto provocó el error "Error al iniciar mongod. /var/run/mongodb/mongod.pid existe". Sin embargo, este no era el verdadero problema. El verdadero problema eran los permisos /tmp/. Al mirar el archivo de registro después de eliminar el archivo mongod.pid y reiniciar Mongod, se mostró el problema de los permisos. Así que esto es lo que solucionó el problema,

 sudo rm /var/run/mongodb/mongod.pid sudo chown mongod:mongod /tmp/mongodb-27017.sock

Apuesto a que si hubiera probado "sudo chown mongod:mongod /tmp/mongodb-27017.sock" justo después de instalar MongoDB en el nuevo servidor antes de ejecutar MongoDB, habría evitado el problema. Desperdicié un día soleado de Florida perfectamente bueno en este.

over 4 years ago · Santiago Trujillo Denunciar

0

Ok, encontré una mejor solución a lo que tenía en mi primera respuesta. Mi respuesta anterior simplemente eliminó los síntomas. Vi que varias otras personas tuvieron que elegir otros directorios. Creo que el problema es que mongod no se reinicia correctamente y deja varios directorios configurados incorrectamente cuando falla. Sospecho que se están ejecutando varios subprocesos, por lo que el directorio que se configura incorrectamente es algo aleatorio. Estoy usando la versión AWS AMI Linux de Amazon e instalando MongoDB 3.4. Encontré un muy buen script de instalación de MongoDB en

 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-amazon/

Así que aquí está la solución. Lo probé varias veces y funcionó cada vez. Instala mongo como lo harías normalmente. Use el script anterior si es útil. Antes de iniciar mongod, ejecute el siguiente comando,

 sudo chkconfig mongod on

Notará que la secuencia de comandos de instalación anterior resalta chkconfig pero en la parte inferior de la secuencia de comandos, donde es posible que no se vea. Esto asegurará que pueda reiniciar con éxito mongod cada vez. Esto debería funcionar en otras versiones de Linux.

over 4 years ago · Santiago Trujillo Denunciar

0

Tiene otra opción en caso de que la asignación de usuario y grupo no funcione, pero esto depende directamente del estado del archivo sock.

Moví el mongodb-27017.sock y lo renombré, eliminé el archivo .pid e inicié el servicio y con esto funciona el proceso

 sudo mv /tmp/mongodb-27017.sock /tmp/mongodb-27017.sock2 sudo rm /var/run/mongodb/mongod.pid sudo service mongod start
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda