Использование класса мониторинга Oplog в Casbah
-
25-10-2019 - |
Вопрос
Я пытаюсь использовать класс мониторинга Oplog в Casbah
https://github.com/mongodb/casbah/blob/master/casbah-core/src/main/scala/util/oplog.scala
Что я хочу сделать, так это контролировать записи Oplog в производственном монго Б.Б.
production.someserver.com
и возьмите записи и отправьте их на хранилище
test.someotherserver.com
и повторить все данные, которые находятся на производственном сервере на тестовый сервер. Я не могу использовать наборы реплик для этого, так как сейчас не могу переделывать. Я пытаюсь построить приложение Scala для этого. Casbah Официальный драйвер Scala для Mongo в качестве вышеупомянутого класса, который я пытаюсь создавать экземпляр, используя
val mongoColl = MongoConnection() ("test") ("test_data")
val oLog = new MongoOpLog(mongoColl)
Но я даже не могу создать его, получая ошибку, что MongoOplog не найден. Я импортировал необходимый пакет. Но даже если я могу это сделать, я понятия не имею, как делать то, что я хочу делать. Может ли кто -нибудь указать мне в правильном направлении на то, как это достичь. Я довольно новичок в Scala, поэтому немного подробного объяснения или ссылки, содержащей это, было бы полезно для меня.
Решение
Вам необходимо включить репликацию на сервере для создания Oplog; в качестве члена реплики набора или в мастер -режиме для мастера/раба.
В противном случае MongoDB не тратит циклы процессоров и дисковое пространство, поддерживающее Oplog. Пожалуйста, смотрите документацию по репликации для получения дополнительной информации - http://www.mongodb.org/display/docs/replication
Вы действительно не должны запускать какую -либо базу данных с одним сервером в производстве, кстати.