O MongoDB 3.0.2 não será iniciado após a atualização para o Ubuntu 15.10


14

Atualizei recentemente para o Ubuntu 15.10, após o qual o MongoDB 3.0.2 não está sendo iniciado.

$ sudo service mongod start

o que geraria erro:

Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

Respostas:


21

É apenas a falta de um arquivo de serviço para o systemd. Não é necessário voltar ao início, como o Kartik, ou usar um repositório diferente do descrito em https://docs.mongodb.org/manual/installation/ .

Crie um arquivo /lib/systemd/system/mongodb.servicecom o seguinte conteúdo:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf

[Install]
WantedBy=multi-user.target

Veja também a nota em askubuntu.com/a/617869/43344 .
JdeBP

Eu acrescentaria que você precisa ficar atento à propriedade do diretório de dados, do bloqueio tmp fs e do arquivo de log. Eu estava brincando, tentando fazer isso funcionar e sudo service...estava silenciosamente falhando por causa de problemas de permissão
Hotbelgo 17/01/16

4
por algum motivo o arquivo de configuração padrão é chamado /etc/mongod.confe não/etc/mongodb.conf
mightyuhu

1
@mightyuhu está correto, sem o caminho correto definido, recebo falha. com o caminho correto, não recebo falha.
user1063287

2
Obrigado! Esta é a resposta certa. Uma coisa pequena: o nome do serviço deve ser mongodporque é isso que eles usam em seu site oficial. Assim mongodb.confdeve ser mongod.conf e o nome do arquivo deve ser/lib/systemd/system/mongod.service
caisah

12

Este erro ocorreu devido ao problema com o novo Ubuntu (15 em diante).

O sistema init padrão é o systemd que era o Upstart anteriormente. Então você precisa instalar o Upstart, reiniciar o sistema e aqui está, agora você pode executar o serviço mongodb.

  • Instale o Upstart

sudo apt-get install upstart-sysv

  • Reinicie seu sistema

sudo service mongod start

mongod start/running, process 3371


1
O nome do serviço agora émongodb
sowrov 29/04

@sowrov, não, o nome do serviço mais recente ainda é 'mongod'
argila Ferguson

1
depois de instalar o upstart-sysv e reiniciar o ubuntu 16.04, ficou em branco; Eu tive que ir em recuperação e apt-get removê-lo. Esta discussão pode ser útil se você quiser continuar usando arrivista askubuntu.com/questions/760615/...
jrgd

5

Eu usei o pacote debian no ubuntu 15.10

echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

1

Eu tive problemas semelhantes depois de atualizar para a 15.10.

Pode haver muitos problemas, mas dependendo do que causou o seu problema, você poderá obter o mongodb executando o init.d:

sudo /etc/init.d/mongodb start

Isso funcionou para mim, mas não é uma solução de longo prazo, pois você precisa executá-la após cada reinicialização ou adicioná-la às tarefas de inicialização. Então eu segui o seguinte:

1) criando o arquivo de serviço, conforme explicado por 'sclausen'.

2) recarregue o serviço executando:

sudo systemctl daemon-reload

3) correu sudo service mongodb start

4) O comando foi executado sem saída. Então, testei executando mongoe recebi um erro de soquete:

Error: connect ECONNREFUSED 127.0.0.1:27017 at Object.exports._errnoException (util.js:870:11) at exports._exceptionWithHostPort (util.js:893:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1062:14)

5) Examinou os logs tail -n 50 /var/log/mongodb/ e descobriu o erro subjacente:

2016-02-26T14:28:23.538+1100 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted

6) excluiu o arquivo de soquete problemático: sudo rm /tmp/mongodb-27017.sock conforme sugerido neste segmento: /programming/29813648/failed-to-unlink-socket-file-error-in-mongodb-3-0

7) executou novamente o serviço: sudo service mongodb start

naquele momento tudo estava bem e Bob voltou à sua posição de direito como meu tio.


0

No meu caso, eu tenho o Ubuntu 16.04.1, estava instalando o MongoDB 3.2.11 e estava recebendo o mesmo erro. Após várias limpezas e novas tentativas, finalmente funcionou "habilitando" o serviço:

systemctl enable mongod.service

Então apenas funcionou

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.