我正在尝试使用casbah中的oplog监控类
https://github.com/mongodb/casbah/blob/master/casbah-core/src/main/scala/util/OpLog.scala
我想要做的是监视生产mongo db上的oplog条目
production.someserver.com
并获取条目并将其发送到
的存储DB test.someotherserver.com
并将生产服务器中的所有数据复制到测试服务器。我无法使用副本集来执行此操作,因为我现在无法重新部署。我正在尝试构建一个scala应用程序来执行此操作。 Casbah是mongo的官方scala驱动程序,如上所述,我试图使用
进行实例化val mongoColl = MongoConnection() ("test") ("test_data")
val oLog = new MongoOpLog(mongoColl)
但我甚至无法实例化它,得到一个错误,找不到mongooplog。我已经导入了必要的包。但即使我能够做到这一点,我也不知道如何做我想做的事情。任何人都可以指出我如何实现这一目标的正确方向。我对scala很新,所以一些详细的解释或包含它的链接对我有帮助。
答案 0 :(得分:1)
您需要在服务器上启用复制才能创建oplog;作为副本集的成员或主/从的主模式。
否则,MongoDB不会浪费CPU周期和磁盘空间来维护oplog。有关详细信息,请参阅有关复制的文档 - http://www.mongodb.org/display/DOCS/Replication
顺便说一下,你应该永远不会在生产中使用单个服务器运行任何数据库。