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

1

Eu recentemente atualizei para o Ubuntu 16.04, após o qual o MongoDB 3.0.2 não está sendo iniciado.

$ sudo service mongod start

que causaria erro:

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

Eu vi esses logs de erro executando systemctl status mongod.service

● mongod.service
   Loaded: loaded (/etc/init.d/mongod; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2016-04-29 10:48:02 IST; 10s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 8624 ExecStart=/etc/init.d/mongod start (code=exited, status=1/FAILURE)

mongod[8223]: Rather than invoking init scripts through /etc/init.d, use the service(8)
mongod[8223]: utility, e.g. service mongod start
mongod[8223]: initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection
mongod[8223]: Since the script you are attempting to invoke has been converted to an
mongod[8223]: Upstart job, you may also use the start(8) utility, e.g. start mongod
mongod[8223]: start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection r
systemd[1]: mongod.service: Control process exited, code=exited status=1
systemd[1]: Failed to start mongod.service.
systemd[1]: mongod.service: Unit entered failed state.
systemd[1]: mongod.service: Failed with result 'exit-code'.

Eu tentei as soluções mencionadas abaixo, mas nenhuma funcionou:

  1. Criei um arquivo /lib/systemd/system/mongodb.service com o seguinte conteúdo:
  

[Unidade] Descrição = Alto desempenho, livre de esquema orientado a documentos   banco de dados após = network.target

     

[Serviço] Usuário = mongodb ExecStart = / usr / bin / mongod --quiet --config   /etc/mongodb.conf

     

[Instalar] WantedBy = multi-user.target

  1. tentou instalar o upstartv %código%
por Kartik 29.04.2016 / 08:41

2 respostas

2

  • remover o upstart-sysv, você pode iniciar o mongo por uma unidade do sistema.
  • verifique seu arquivo de configuração mongod.config. Não deve ter processManagement.fork : true
  • verifique se seu mongo dbpath e as pastas de log mongodb user (no arquivo de serviço) com o qual você executa seu script devem ter permissão para acessar esses arquivos.
  • se ainda tiver problemas, verifique o seu arquivo mongod.log (você o especificou no arquivo de configuração) para encontrar erros mais detalhados.
por HosseinAgha 14.08.2016 / 16:55
0

Ok, eu fiz:

    • Backup:

    # cp -vr / var / lib / mongodb / root /

    # cp /etc/mongod.conf / root

    • Excluiu o antigo init:

    # rm -fr /etc/init.d/mongod

3 - Criado o arquivo /etc/systemd/system/multi-user.target.wants/mongod.service , como:

# nano /etc/systemd/system/multi-user.target.wants/mongod.service

4 - Eu copiei este script de outro sistema que já era o Xenial:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/env bash -c "numactl --interleave=all /usr/bin/mongod --quiet --config /etc/mongod.conf"
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false

# Recommended limits for for mongod as specified in
# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings

[Install]
WantedBy=multi-user.target

5 - Ainda falha se você tentar iniciá-lo (dê uma olhada no comando start, ele usa numactl , então:

# apt-get install -y numactl

6 - Recarregar serviços:

# systemctl daemon-reload

7 - Remova os cadeados antigos (reze para que seu banco de dados seja são):

# rm -fr /var/lib/mongodb/mongod.lock

8 - Reinicie, verifique o status e seja feliz:

# systemctl restart mongod.service
# systemctl status mongod.service
● mongod.service - High-performance, schema-free document-oriented database
   Loaded: loaded (/etc/systemd/system/multi-user.target.wants/mongod.service; bad; vendor preset: enabled)
   Active: active (running) since Qui 2018-05-17 21:15:16 -03; 2s ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 6301 (mongod)
   CGroup: /system.slice/mongod.service
           └─6301 /usr/bin/mongod --quiet --config /etc/mongod.conf

Mai 17 21:15:16 xx-server systemd[1]: Started High-performance, schema-free document-oriented database.

'' '

Acabei de encarar isso hoje, então, talvez ainda existam alguns sistemas Trusty para serem Xenial usando o MongoDB em torno deste reino de LTS. Desculpe pela marcação, ainda estou melhorando isso. Melhor para todos vocês!

    
por André E Toscano 18.05.2018 / 02:27