在casbah中使用oplog监控类

时间:2011-07-25 04:07:45

标签: scala mongodb replication casbah

我正在尝试使用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很新,所以一些详细的解释或包含它的链接对我有帮助。

1 个答案:

答案 0 :(得分:1)

您需要在服务器上启用复制才能创建oplog;作为副本集的成员或主/从的主模式。

否则,MongoDB不会浪费CPU周期和磁盘空间来维护oplog。有关详细信息,请参阅有关复制的文档 - http://www.mongodb.org/display/DOCS/Replication

顺便说一下,你应该永远不会在生产中使用单个服务器运行任何数据库。