Execute o rc.local apenas quando o Mongodb estiver sendo executado no CentOs 7

2

Eu tenho o seguinte script no meu rc.local :

Isso executa os serviços nas portas 8080, 8081, 8082, 8083. Eles são, na verdade, servidores de nós que precisam do mongod para a inicialização.

Então, eu editei /lib/systemd/system/rc-local.service e adicionei:

After=network.target syslog.target mongod.service

Mas não: os scripts ainda falham porque, em tempo de execução, eles descobrem que o servidor de banco de dados está inativo.

O que eu poderia estar fazendo de errado? Como eu depuraria isso?

UPDATE : Agora que adicionei After= , o erro não é a conexão mongoDb (eu estava olhando para logs antigos), mas sim o fato de que rc-local não parece ser começando de todo. Executar manualmente systemctl restart rc-local.service funciona embora ...

UPDATE 2 : pegando syslog.target , e assim:

After=network.target mongod.service

tem o estranho efeito colateral de que o METADE dos servidores (2 de 4) iniciam bem, e o outro HALF não consegue se conectar ao banco de dados. Isso me faz pensar que o systemd roda o mongodb, mas ainda não está pronto para receber conexões quando o rc-local é executado

    
por Merc 24.02.2017 / 03:36

1 resposta

-2

Como solução alternativa, por que você não define o mongodb para não começar a usar o systemctl e configurá-lo para iniciar em rclocal antes dos itens que você precisa?

    
por 26.02.2017 / 04:34