Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

656
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda