2013-05-04 88 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

虛擬機可以是一個痛苦像 – Sammaye 2013-05-04 12:54:26

+0

它不可能有任何與虛擬機的屁股 - 它更可能你也不得不對這些虛擬機重新啓動mongod的過程 - 他們必須具有相同的--replSet 爲您replSet - 看起來他們最初不是。 – 2013-05-05 07:25:55

+0

不,我重新啓動了mongod進程,但沒有奏效。所以我重啓了虛擬機。我確定他們在/etc/mongodb.conf文件中使用了相同的replSet名稱。 – 2013-05-07 01:17:28

0

如果要重新安裝一個MongoDB實例,則複製集可能生活在驅動器上的數據文件。我有同樣的問題,建立一個新的副本集。問題在於在調出具有較舊replSet名稱的實例後更改副本集名稱。我刪除了數據文件,再次運行我的安裝腳本,它工作得很好。

相關問題