我正在运行mongod作为独立服务器。现在我想为其启用oplog,我想知道它是否可能?我知道我可以通过创建单节点ReplicaSet来做到这一点,但我想在没有副本集的情况下做到这一点。 最佳答案 我收到了MongoDb团队的回复,它工作正常。要在独立服务器上启用oplog,请使用master选项启动mongo。在命令行启动mongod--master.对于conf文件添加以下行:master=true更多详情here. 关于mongodb-oplog在独立mongod上启用,不适用于副本
问题:每隔一两分钟,mongo客户端就会停止大约3秒。更新的正常操作时间约为1或2毫秒。当出现这种缓慢时,我们会有一堆持续1到3秒的更新。慢查询日志没有显示任何与此相关的内容。也不调试mongo客户端(mongo-php-client)。当前架构在副本集中有1个master、1个slave和1个Arbiter。执行的查询总是相同的排序(按_id插入,使用新的MongoId插入)。没有“每隔几分钟我们就会运行一次这个super昂贵的更新”阻塞似乎是由local.oplog.rs引起的。至少,这就是下面的mongotop输出。我没有发现任何迹象表明次要导致此问题,因为以下所有命令的输出似乎
是否可以修改MongoDBoplog并重放它?一个错误导致将更新应用于比预期更多的文档,从而覆盖了一些数据。数据已从备份中恢复并重新集成,因此实际上没有丢失任何内容,但我想知道是否有办法修改oplog以删除或修改有问题的更新并重放它。我对MongoDB内部没有深入的了解,因此类似“你不明白它是如何工作的,就是这样”的信息性回答也将被考虑接受。 最佳答案 应用程序或人为错误数据损坏的一个大问题是对主节点的违规写入将立即复制到辅助节点。这是用户利用“slaveDelay”的原因之一-一个以固定时间延迟运行您的辅助节点之一的选项(当然,只