Saya memiliki Mongo
set replika dengan beberapa detik. Sebuah kotak, yang menampung instance sekunder, mengalami crash dan kehilangan database.
Saya memulai Mongo
instance sekunder lagi dan sekarang macet di STARTUP2 selama lebih dari 12 jam. Apakah masuk akal ? Dokumen mengatakan Mongo
harus dalam STARTUP2 untuk jangka waktu singkat sebelum memasuki keadaan PEMULIHAN
Apa arti sebenarnya dari STARTUP2? Apakah ini menyalin database dari primary? Bagaimana saya bisa memverifikasinya (dengan asumsi Mongo berjalan di Linux)?
show databases
gagal dengannot master and slaveOk=false
Status STARTUP2 berarti simpul tidak dapat memilih. Seorang anggota RS memasuki keadaan ini setelah proses MongoD selesai memuat konfigurasi itu. Dalam keadaan ini, anggota telah membuat utas untuk menangani operasi replikasi internal tetapi ia belum mengubah status menjadi Memulihkan dan selanjutnya dari yang menjadi Sekunder (lihat [status dan detailnya di dokumen]) .
Jika simpul Anda telah dalam kondisi ini selama lebih dari periode singkat maka Anda menghadapi beberapa perilaku aneh. Ini sangat tidak mungkin untuk dianalisis tanpa log untuk menentukan mengapa macet. Menjalankan rs.status () dan db.printSlaveReplicationInfo () akan memberi Anda beberapa detail pada gambar lokal pada node.
Pendekatan normal untuk menyelesaikan ini adalah dengan mematikan node, menghapus file datanya (file-file di dbpath), dan me-restart itu. Ini akan memulai kembali proses sinkronisasi awal dan harus pindah ke SECONDARY. Jika macet di STARTUP2 lagi, Anda harus melihat log untuk mengumpulkan lebih banyak informasi tentang alasannya - ada berbagai penyebab tetapi satu yang bisa terjadi adalah jaringan yang tidak rata atau pertikaian sumber daya lokal.
Satu hal yang perlu diperhatikan adalah bahwa sementara sinkronisasi awal sedang berlangsung, node akan tetap di STARTUP2 jadi tergantung pada jumlah data yang disinkronkan, ini bisa menjadi waktu yang cukup lama (berpotensi berhari-hari).
sumber
db.stats
basis data sedang berkembang. Log mengatakan bahwa beberapa objekcloned
. Saya masih mencari kemungkinan penyebab masalah ini.ping
antara tuan rumah adalah Ok.Salah satu penyebab yang mungkin adalah bahwa sekunder Anda menjadi "basi" seperti yang dinyatakan di sini .
Ketika Anda melakukan sinkronisasi ulang anggota, pastikan RS tidak berada di bawah beban berat.
sumber
Status STARTUP2 dapat disebabkan karena tidak cukup ruang disk. Yah, karena tidak ada tempat untuk menyinkronkan, itu hanya bisa tetap status @ STARTUP2.
sumber