Получение сообщения об ошибке при репликации базы данных в окнах mongodb - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь реплицировать базу данных в mongodb 4.0 на двух разных серверах Windows.Я прошел все этапы репликации mongodb.В то время как я настраивал вторичную базу данных из первичной с помощью следующей команды

rsconf = {_ id: "myset", члены: [{_ id: 0, host: "PrimaryServerIP: 27017"}, {_ id: 1, хост: "SecondaryServerIP: 27017"}]}

Затем, пока я переконфигурировал rsconf через

rs.reconfig (rsconf)

Я получаю следующее сообщение об ошибке: «Поддержка протокола репликации версии 0 была удалена в MongoDB 4.0. Перейдите на MongoDB версии 3.6 и обновите версию протокола до 1, прежде чем обновлять версию MongoDB» *

Я пыталсяобновить протокол репликации, понизив MongoDB до 3.6 с помощью приведенной ниже команды

rsconf = rs.conf()
rsconf.protocolVersion=1
rs.reconfig(rsconf)

Но все равно получая то же сообщение об ошибке.Есть ли способ обновить версию протокола до 1 в mongodb 4.0.

Также я попробовал те же шаги репликации в mongodb 3.6, и он работает нормально.Любая помощь будет высоко оценена.

1 Ответ

0 голосов
/ 08 августа 2019

У меня была похожая проблема, и когда я добавил protocolVersion к моей новой конфигурации, она работала.

rsconf={
         _id:"myset", 
         protocolVersion: NumberLong(1),
         members:[{_id:0,host:"PrimaryServerIP:27017"},{_id:1,host:"SecondaryServerIP:27017"}]
       }

У меня изначально была эта проблема, когда я пытался сбросить конфигурацию rs на пустую, чтобы я мог начать заново;Я на самом деле сделал это в оболочке Монго

 cfg = {
     "_id" : "rs0",
     "version" : 2,
     "protocolVersion" : NumberLong(1),
     "members" : [
         {
             "_id" : 0,
             "host" : "myhost:27017"
         }
     ]
 }

 rs.reconfig(cfg, {force:true})
...