2013-05-04 3 views
1

Я использую MongoDB 2.4.3, и после мастера: http://docs.mongodb.org/manual/tutorial/deploy-replica-set/Невозможно добавить элемент в MongoDB реплики набора

Но при добавлении других членов в реплике-набор, получить следующее сообщение об ошибке:

[email protected]:~# mongo 
MongoDB shell version: 2.4.3 
connecting to: test 
rs1:PRIMARY> rs.add("vm1") 
{ 
    "errmsg" : "exception: set name does not match the set name host vm1:27017 expects", 
    "code" : 13145, 
    "ok" : 0 
} 
rs1:PRIMARY> rs.add("vm4") 
{ 
    "errmsg" : "exception: set name does not match the set name host vm4:27017 expects", 
    "code" : 13145, 
    "ok" : 0 
} 

vm1, vm3 и vm4 знают друг друга, потому что я правильно их настроил/etc/hosts.

Любая идея? Я не понимаю, что означает это сообщение об ошибке!

ответ

1

В моем случае, просто перезапустите виртуальные машины, все будет в порядке.

2

После перезагрузки всех vms он работает сейчас.

[email protected]:~# mongo 
MongoDB shell version: 2.4.3 
connecting to: test 
rs1:PRIMARY> rs.add("vm4") 
{ "ok" : 1 } 
rs1:PRIMARY> rs.add("vm1") 
{ "ok" : 1 } 
+0

VM может быть такой прикладом, что – Sammaye

+0

вряд ли будет иметь какое-либо отношение к виртуальным машинам - скорее всего, вам также пришлось перезапустить процессы mongod на этих виртуальных машинах - и у них должен быть тот же --replSet , что и ваш replSet - кажется, что они изначально не были. –

+0

Нет, я перезапустил mongod-процессы, но это не сработало. Поэтому я перезагрузил виртуальные машины. Я уверен, что они использовали одно и то же имя replSet в своих файлах /etc/mongodb.conf. –

0

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

Смежные вопросы