O Mongodb não inicia usando o systemctl

1

Quando tento iniciar o serviço mongo (systemctl start mongodb), recebo este erro no journalctl:

Mar 21 15:36:18 redhat7 systemd[1]: Started High-performance, schema-free document-oriented database.
Mar 21 15:36:18 redhat7 systemd[1]: Starting High-performance, schema-free document-oriented database...
Mar 21 15:36:18 redhat7 mongod[14333]: about to fork child process, waiting until server is ready for con
Mar 21 15:36:18 redhat7 mongod[14333]: forked process: 14335
Mar 21 15:36:18 redhat7 systemd[1]: mongod.service: main process exited, code=exited, status=1/FAILURE
Mar 21 15:36:18 redhat7 systemd[1]: Unit mongod.service entered failed state.
Mar 21 15:36:18 redhat7 systemd[1]: mongod.service failed.

Mas executando o seguinte comando como root, funciona!

sudo -u mongod /usr/bin/mongod -f /etc/mongod1.conf

/lib/systemd/system/mongod.service

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

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

[Install]
WantedBy=multi-user.target
    
por Telen Stanley 21.03.2017 / 11:53

1 resposta

1

O padrão para o systemd é que um serviço é simples. Isso significa que ele é executado em primeiro plano e, se sair, o serviço será considerado interrompido.

Seu arquivo de configuração mongod tem algo parecido com:

processManagement: fork: true

, que faz com que mongod seja transferido para o plano de fundo. Existem duas maneiras de corrigir isso, o melhor é alterar fork em /etc/mongod1.conf para false. A outra é definir Type=forking na seção [Service] do arquivo .service .

    
por 27.05.2017 / 21:52