2012-09-17 95 views

回答

0

您不能僅使用一個成員啓動副本集(您在哪裏複製數據?!)。本教程告訴您需要三個活動的mongod實例。

要求:三個不同的系統,以便每個系統都可以運行它自己的mongod實例。

+1

你可以有一個副本集只有一個副本。 [docs.mongodb.org上的這3個副本集教程](http://docs.mongodb.org/manual/tutorial/deploy-replica-set/)指示您首先創建一個只有1個成員的副本集,通過運行rs.initialize()。然後添加2個成員。 - 有一段時間,您只有一個副本的副本集。 – KajMagnus

0

出於測試目的,你可以有一個給定的副本在同一物理機上設置的三個成員(本教程中提到:「對於短暫的測試和本指南的目的,你可以運行的mongod實例在GNU屏幕的單獨窗口中。「)您只需要在計算機上的三個不同端口上運行三個不同的mongod實例。從你得到的錯誤,似乎是其中一個端口無法訪問。只要檢查你的端口是否已被其他應用程序使用。如果是這樣,那麼相應的mongod首先不會成功啓動。因此,rs.initiate()會失敗。

1

我有同樣的錯誤。 在我的情況下幫了我:

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