Mongodb
無法啟動 mongod 守護程序,它看起來崩潰了
DummyD3 是 3 節點複製集群的 node3。DummyD2 是主要的,DummyD1 是次要的(與主要同步)。
我嘗試刪除數據路徑下的數據,並在第一個在第二個 rsycn 中執行並啟動守護程序時從其他輔助節點背靠背兩次進行 rsync 以複製更新。
rsync -asvh Dummy1:/mongodb/data/dbinstance/* /mongodb/data/dbinstance rsync -asvh Dummy1:/mongodb/data/dbinstance/* /mongodb/data/dbinstance rm /mongodb/data/dbinstance/mongod.lock rm /mongodb/data/dbinstance/mongod.pid su - mongoinstance -c "/usr/bin/mongod --config /etc/mongo/dbinstance/mongodb.conf &"
從有問題的節點在螢幕上執行上述命令。
~# mongod --version db version v4.0.4
我在這裡尋找解決方案,如果有人有解決方案來幫助我解決這個問題。
root@DummyD3:~# tail /mongodb/files/errorlogs/dbinstance/mongodb.log mongod(_ZN5mongo15printStackTraceERSo+0x41) [0x55c2e748caa1] mongod(+0x23D9CB9) [0x55c2e748bcb9] mongod(+0x23DA19D) [0x55c2e748c19d] libpthread.so.0(+0x11390) [0x7fa295382390] libc.so.6(gsignal+0x38) [0x7fa294fdc428] libc.so.6(abort+0x16A) [0x7fa294fde02a] mongod(_ZN5mongo32fassertFailedNoTraceWithLocationEiPKcj+0x0) [0x55c2e5ac1ea7] mongod(_ZN5mongo17wtRCToStatus_slowEiPKc+0x413) [0x55c2e5bb8eb3] mongod(_ZN5mongo18WiredTigerKVEngine15_openWiredTigerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_+0x2D1) [0x55c2e5b90161] mongod(_ZN5mongo18WiredTigerKVEngineC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_PNS_11ClockSourceES8_mbbbb+0x63F) [0x55c2e5b9611f] mongod(+0xAC6149) [0x55c2e5b78149] mongod(_ZN5mongo23initializeStorageEngineEPNS_14ServiceContextENS_22StorageEngineInitFlagsE+0x552) [0x55c2e62613a2] mongod(+0x993251) [0x55c2e5a45251] mongod(_ZN5mongo11mongoDbMainEiPPcS1_+0x10DB) [0x55c2e5b2d94b] mongod(main+0x9) [0x55c2e5ac3a39] libc.so.6(__libc_start_main+0xF0) [0x7fa294fc7830] mongod(_start+0x29) [0x55c2e5b2bab9] ----- END BACKTRACE -----
您不需要複製副本集中的任何數據。只需刪除整個目錄並啟動服務。複製集將觸發初始同步並複制所有數據。如果您想從 dbPath 獲取副本,您應該停止服務或至少將其鎖定
db.fsyncLock()
(當然之後使用 解鎖db.fsyncUnlock()
)db.fsyncLock() 和 db.fsyncUnlock() 確實有效,我修復了慢性複制。