Skrip startup Anda tidak boleh menginisialisasi atau memantau replika; itu seharusnya tugas manual.
Anda harus ingat bahwa:
- memulai kumpulan replika adalah pekerjaan sekali saja; setelah dimulai, layanan MongoDB, ketika dimulai ulang, akan terus menjadi bagian dari kumpulan replika yang sama.
- set replika biasanya berisi beberapa node yang harus dapat dipertukarkan; jika masing-masing mencoba menginisialisasi set replika saat startup, mereka akan membuat kesalahan
- memulai ulang layanan adalah perilaku yang normal dan diharapkan; misalnya ketika Anda meningkatkan ke versi MongoDB berikutnya, atau setelah patch ke host server Anda memerlukan reboot, atau setelah pemadaman listrik
- jika skrip Anda mencoba menginisialisasi kumpulan replika yang sudah diinisialisasi setiap kali memulai layanan MongoDB, itu akan menimbulkan kesalahan
Saya sangat menyarankan Anda membuat tiga perubahan:
- Biarkan wadah mongo Anda menjalankan mongo, tanpa langkah-langkah untuk memulai dan memantau kumpulan replika.
- Jika Anda ingin menjalankan set replika, mulai dengan hati-hati dan dengan cara manual yang terkontrol; ditto jika Anda ingin menambah / menghapus node, atau mengkonfigurasi ulang.
- Jika Anda ingin memantau kesehatan set replika Anda, gunakan alat terpisah untuk melakukannya; biarkan layanan mongo melakukan tugasnya seperti biasa.