2016-02-23 1 views
0

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

rs.initiate() 
rs.reconfig()//with config params 

Мой предыдущий набор реплик имеет primary(27017), secondary(27018,27019) После переустановки я мог бы получить вторичный работать, но моя основная говорит

нет реплики набор конф не найдено.

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

+1

Попробуйте 'rs.status();' и дайте мне знать, что он дает. –

ответ

0

rs.initiate требует наличия документа конфигурации. Дайте это, называя rs.initiate.

config = { 
_id : "name_of_replica_set", members : [ 
    { _id : 0, host : "localhost:27017" }, 
    { _id : 1, host : "localhost:27018" }, 
    { _id : 2, host : "localhost:27019" } 
    ] 
}; 
rs.initiate(config); 

Попробуйте это и посмотрите, не работает ли оно для вас.

+0

Зачем это нужно? Набор реплик все еще существует, и в основном добавлен только новый член. –

+0

Я не нахожу, что он упоминает о добавлении нового участника. Но потом он упомянул, что он может подключиться к второстепенным. Поэтому он определенно сможет подключиться к первичному. Я предложил это, потому что сообщение об ошибке было связано с отсутствием конфигурации. –

+0

Внимательно прочитайте: «У меня есть __secondary__ для работы». Он удалил старый основной, а затем снова установил его. Только первичный. И другие машины все еще строят набор реплик из двух членов. Теперь, что бы это вызвало, чтобы вновь настроенная машина, а оставшаяся набор реплик построили новую? –