Reiniciando o MongoDB automaticamente se ele falhar

4

Estou executando o MongoDB em um servidor Ubuntu. Ele está usando um script inicial para iniciar o mongod quando a máquina é inicializada. Percebi que, se o processo falha, ele não é reiniciado.

Como posso ter certeza de que, se ele falhar, o processo do mongod será reiniciado?

    
por Flavien 13.06.2013 / 11:00

5 respostas

9

Eu mesmo encontrei a resposta: a maneira mais simples de conseguir isso é adicionar as duas linhas seguintes no final do script inicial instalado pelo MongoDB ( /etc/init/mongodb.conf ):

respawn
respawn limit 10 90

Isso tentará reiniciar o processo se ele for encerrado e parar se ele falhar mais de 10 vezes em 90 segundos.

    
por 24.06.2013 / 14:28
1

Acho que você quer algo como Monit ou Deus aqui para reiniciar automaticamente os serviços quando eles param / travam. Sua descrição do acidente em si sugeriria o assassino da OOM , que pode ser evitado por configurando algum espaço de troca no host.

    
por 14.06.2013 / 11:39
1

Com base na resposta aceita (e já que não tenho representante suficiente para comentar sobre isso)

Respawn NÃO é um parâmetro de configuração do mongo, é para o arquivo de configuração do serviço upstart.

respawn
respawn limit 10 90

O Digital Ocean tem um bom tutorial para usar o upstart e o systemd (mais recente). link

    
por 10.02.2017 / 19:02
0

Antes de tudo, você deve entender porque o serviço do sistema trava. Falta de memória? Libs bugged? Pacote errado ou não atualizado? Seu software usando o MongoDB não está funcionando corretamente?

No azarado caso você não consiga responder, você poderia forçar o seu sistema brutalmente: eu verificaria regularmente através de um script se o arquivo PID mongod existir, ele deveria ser armazenado em algum lugar em / var / run, se não service mongod start .

    
por 13.06.2013 / 11:56
0

Você poderia usar o Supervisord , esta ferramenta pode reiniciar tudo o que você precisa e é muito simples de configurar.

    
por 24.06.2013 / 12:13