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 -----
Wernfried Domscheit说:
db.fsyncLock() 和 db.fsyncUnlock() 确实有效,我修复了慢性复制。