mongod não será executado sem que eu especifique meu próprio caminho conf

1

Eu recentemente atualizei meu apt-get e agora o mongod não está se comportando corretamente.

Eu atualmente tenho que executar via: mongod --dbpath /var/lib/mongodb

e deixe o terminal aberto para funcionar.

Se eu apenas executar o mongod

root@ip-XXX-XX-XX-XX:/home/ubuntu# mongod
mongod --help for help and startup options
Sun Jun 22 21:48:19.403 [initandlisten] MongoDB starting : pid=2033 port=27017 dbpath=/data/db/ 64-bit host=ip-XXX-XX-XX-XX
Sun Jun 22 21:48:19.403 [initandlisten] db version v2.4.10
Sun Jun 22 21:48:19.403 [initandlisten] git version: e3d78955d181e475345ebd60053a4738a4c5268a
Sun Jun 22 21:48:19.403 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Sun Jun 22 21:48:19.403 [initandlisten] allocator: tcmalloc
Sun Jun 22 21:48:19.403 [initandlisten] options: {}
Sun Jun 22 21:48:19.404 [initandlisten] exception in initAndListen: 10296
*********************************************************************
 ERROR: dbpath (/data/db/) does not exist.
 Create this directory or give existing directory in --dbpath.
 See http://dochub.mongodb.org/core/startingandstoppingmongo
*********************************************************************
, terminating
Sun Jun 22 21:48:19.404 dbexit:
Sun Jun 22 21:48:19.404 [initandlisten] shutdown: going to close listening sockets...
Sun Jun 22 21:48:19.404 [initandlisten] shutdown: going to flush diaglog...
Sun Jun 22 21:48:19.404 [initandlisten] shutdown: going to close sockets...
Sun Jun 22 21:48:19.404 [initandlisten] shutdown: waiting for fs preallocator...
Sun Jun 22 21:48:19.404 [initandlisten] shutdown: lock for final commit...
Sun Jun 22 21:48:19.404 [initandlisten] shutdown: final commit...
Sun Jun 22 21:48:19.404 [initandlisten] shutdown: closing all files...
Sun Jun 22 21:48:19.405 [initandlisten] closeAllFiles() finished
Sun Jun 22 21:48:19.405 dbexit: really exiting now
root@ip-XXX-XX-XX-XX:/home/ubuntu#

O que eu presumo é usar um arquivo de configuração diferente, mas não tenho idéia de qual arquivo de configuração está usando. Eu gostaria que o mongo rodasse automaticamente e usasse a configuração correta.

Também digno de nota, se eu fizer:

sudo service mongodb start

Eu recebo: mongodb start/running, process 2044

mas qualquer página usando erros do mongo com:

Failed to connect to: 127.0.0.1:27017: Connection refused.
    
por azz0r 22.06.2014 / 23:51

1 resposta

1

O erro quando você executa apenas mongod é porque o caminho do banco de dados padrão é /data/db (ou seja, não é outro arquivo de configuração, apenas o que você obtém se não especificar nada). Parece que você está executando mongod como root, o que é uma má ideia em geral e, provavelmente, a origem de seus problemas. Se você iniciar o serviço, ele será executado como um usuário (geralmente mongod ou mongodb ) e, portanto, se houver arquivos no dbpath de propriedade do usuário raiz (e, da mesma forma, seus arquivos de log agora podem ser de propriedade root), então ele falhará ao iniciar com erros de permissão.

É provável que você tenha que corrigir suas permissões, conforme descrito em esta resposta para corrigir isso, e geralmente deve evitar a execução de mongod como root no futuro.

    
por 23.06.2014 / 14:53