我正在处理一个MongoDB(2.4.10)分片集群,直到现在只有一个副本集合。 我在mongos上运行db.repairDatabase()。
这样,我可以回收主节点上的可用空间。 但不是在二线上。 我必须在副本集的每个成员上运行它吗?
谢谢,
格雷格。
是。 您将要停止辅助mongo进程,注释副本configuration参数(replSet,keyFile等),启动mongo进程,然后login并执行修复。 完成后,停止mongod进程,将configuration更改回原始设置并启动mongod。 这假设你有一个正确的投票等三人成员部署
另一个select是简单地重新同步辅助(等待你的oplog足够长):
http://docs.mongodb.org/manual/tutorial/resync-replica-set-member/