MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Impossibile eseguire il contenitore mongo con il set di repliche utilizzando la composizione mobile

Lo script di avvio non dovrebbe inizializzare o monitorare il replicaset; quelli dovrebbero essere compiti manuali.

Tieni presente che:

  • l'avvio di un set di repliche è strettamente un lavoro una tantum; una volta avviato, il servizio MongoDB, una volta riavviato, continuerà a far parte dello stesso set di repliche.
  • un set di repliche normalmente contiene diversi nodi che dovrebbero essere intercambiabili; se ognuno di loro tenta di inizializzare la replica impostata all'avvio, genereranno errori
  • il riavvio di un servizio è un comportamento normale e previsto; ad esempio quando esegui l'aggiornamento alla versione successiva di MongoDB, o dopo che le patch all'host del tuo server richiedono un riavvio, o dopo un'interruzione di corrente
  • se lo script tenta di inizializzare un set di repliche già inizializzato ogni volta che avvia il servizio MongoDB, genererà errori

Ti consiglio vivamente di apportare tre modifiche:

  1. Lascia che il tuo container mongo esegua mongo, senza i passaggi per avviare e monitorare il set di repliche.
  2. Se vuoi eseguire un set di repliche, avvialo con attenzione e in modo manuale controllato; idem se vuoi aggiungere/rimuovere nodi o riconfigurare.
  3. Se desideri monitorare lo stato del tuo set di repliche, utilizza uno strumento separato per farlo; lascia che il servizio mongo svolga il suo normale lavoro.