использование класса мониторинга oplog в casbah

Я пытаюсь использовать класс мониторинга oplog в casbah

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

Что я хочу сделать, так это отслеживать записи oplog в производственной базе данных mongo на

 production.someserver.com

и получить записи и отправить их в БД хранилища по адресу

 test.someotherserver.com

и реплицировать все данные с рабочего сервера на тестовый сервер. Я не могу использовать наборы реплик для этого, так как сейчас не могу выполнить повторное развертывание. Я пытаюсь создать приложение scala для этого. Casbah официальный драйвер scala для монго как вышеупомянутый класс, который я пытаюсь создать, используя

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

Но я даже не могу его создать, получая сообщение об ошибке, что mongooplog не найден. Я импортировал необходимый пакет. Но даже если я смогу это сделать, я понятия не имею, как сделать то, что я хочу сделать. может ли кто-нибудь указать мне правильное направление о том, как этого добиться. Я новичок в scala, поэтому мне было бы полезно небольшое подробное объяснение или ссылка, содержащая его.


person swordfish    schedule 25.07.2011    source источник


Ответы (1)


Вам необходимо включить репликацию на сервере для создания оплога; либо в качестве члена набора реплик, либо в режиме master для master/slave.

В противном случае MongoDB не тратит впустую циклы ЦП и дисковое пространство на поддержание оплога. Дополнительные сведения см. в документации по репликации — http://www.mongodb.org/display/DOCS/Replication

Между прочим, вам действительно никогда не следует запускать какую-либо базу данных с одним рабочим сервером.

person Brendan W. McAdams    schedule 25.07.2011
comment
Оплог уже создан и работает нормально. Мне просто нужно знать, как я могу контролировать это программно, используя scala и casbah, я понятия не имею, как использовать класс мониторинга oplog, чтобы делать то, что мне нужно, я четко объяснил, что мне нужно делать. - person swordfish; 25.07.2011
comment
Вам нужно вставить все сообщение об ошибке, которое вы получаете. Мое замешательство связано с тем, что вы говорите, что получаете сообщение об ошибке, что mongooplog не найден, что является сообщением, которое я выплевываю из класса, когда не могу найти oplog. Кроме того, первый аргумент MongoOpLog — это СОЕДИНЕНИЕ, а не коллекция, которую вы передаете. - person Brendan W. McAdams; 25.07.2011
comment
Нет, ошибка помечена IDE. я использую IntelliJ IDEA, и при компиляции я получаю сообщение об ошибке, что класс mongooplog не найден. - person swordfish; 26.07.2011
comment
какой метод я должен вызвать, чтобы начать мониторинг oplog в мониторе oplog и как мне получить запись, которая записывается в oplog - person swordfish; 27.07.2011