0

我正在尝试在 casbah 中使用 oplog 监控类

https://github.com/mongodb/casbah/blob/master/casbah-core/src/main/scala/util/OpLog.scala

我想要做的是监视生产 mongo db 上的 oplog 条目

 production.someserver.com

并获取条目并将它们发送到存储数据库

 test.someotherserver.com

并将生产服务器中的所有数据复制到测试服务器。我无法使用副本集来执行此操作,因为我现在无法重新部署。我正在尝试构建一个 scala 应用程序来做到这一点。Casbah 是 mongo 的官方 scala 驱动程序,作为上面提到的类,我试图使用它来实例化

val mongoColl = MongoConnection() ("test") ("test_data")
val oLog = new MongoOpLog(mongoColl)

但我什至无法实例化它,得到一个找不到 mongooplog 的错误。我已经导入了必要的包。但即使我能够做到这一点,我也不知道如何做我想做的事。任何人都可以请我指出如何实现这一目标的正确方向。我对 scala 很陌生,所以一些详细的解释或包含它的链接将对我有所帮助。

4

1 回答 1

1

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

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

顺便说一句,您真的不应该在生产中使用单个服务器运行任何数据库。

于 2011-07-25T10:51:01.780 回答